Tomcat部署遇到的问题

项目服务端:Tomcat6.0.41

选用数据库:Mysql5.6.17

JDK环境:1.6.37

运行系统:Windows server 2008(64bit)

===========================================================

部署好Tomcat项目,运行startup.bat.提示错误(节选):

……

2014-8-20 15:59:13 org.apache.cxf.endpoint.ServerImpl initDestination
信息: Setting the server‘s publish address to be /pay
2014-8-20 15:59:13 org.apache.cxf.jaxrs.provider.ProviderFactory setDefaultProvider
信息: Problem with setting the default provider org.apache.cxf.jaxrs.provider.JSONProviderorg/codehaus/jettison/mapped/TypeConverter
2014-8-20 15:59:14 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2014-8-20 15:59:14 org.apache.catalina.core.StandardContext start
严重: Context [/xGameServer] startup failed due to previous errors
2014-8-20 15:59:14 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/xGameServer] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
2014-8-20 15:59:14 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/xGameServer] appears to have started a thread named [Thread-2] but has failed to stop it. This is very likely to create a memory leak.
2014-8-20 15:59:14 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/xGameServer] appears to have started a thread named [Thread-3] but has failed to stop it. This is very likely to create a memory leak.
2014-8-20 15:59:14 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/xGameServer] appears to have started a thread named [Thread-5] but has failed to stop it. This is very likely to create a memory leak.
2014-8-20 15:59:14 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/xGameServer] appears to have started a thread named [NioSocketAcceptor-1-idleStatusChecker] but has failed to stop it. This is very likely to create a memory leak.

……

===========================================================

在这里,需要吐槽tomcat的错误提示。因为它的错误提示很表面。单纯看这错误提示内容,红色部分内容,我们简单地理解为web项目启动了JDBC驱动程序,但是在web项目停止时,JDBC驱动程序注销失败。为了防止内存泄漏,该驱动程序被强制干掉了....然后就引发了后面一大片的蓝色部分内容:提示好多好多线程被启动了,吓唬你不关闭线程的话可能会导致程序内存泄漏(也就是可能会导致程序挂掉)。

这个时候,你需要这样一份文件(Tomcat不自带):

============================文件内容===============================

handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = error-debug.

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

============================文件内容===============================

新建一个记事本,将上面绿色字体内容C-V操作,然后保存文件为logging.properties

OK,完成。

将这份文件拷贝到部署项目目录的\WEB-INF\Classes目录下。

e.g.假设我的部署项目目录名为:HeHe

把文件放在:webapps\HeHe\WEB-INF\Classes\logging.properties

然后再次运行tomcat的startup.bat,界面显示的错误不变,我们要查看的是Tomcat根目录下的logs目录(例如:E:\tomcat6\logs),有一份文本文件:error-debug.xxxx-xx-xx

回到我们项目运行失败的问题上,从error-debug.xxxx-xx-xx文件中可以看到,最根本报错的地方是:

===========================================================

2014-8-20 16:25:46 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
2014-8-20 16:25:51 org.apache.cxf.endpoint.ServerImpl initDestination
信息: Setting the server‘s publish address to be /pay
2014-8-20 16:25:51 org.apache.cxf.jaxrs.provider.ProviderFactory setDefaultProvider
信息: Problem with setting the default provider org.apache.cxf.jaxrs.provider.JSONProviderorg/codehaus/jettison/mapped/TypeConverter
2014-8-20 16:25:52 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class com.linyun.xgame.listener.InitSystemListener
org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [HY000]; error code [1130];   
--- The error occurred in com/linyun/xgame/dao/sqlmap/Global.xml.  
--- The error occurred while executing query.  
--- Check the    SELECT VALUE_INT AS valueInt, VALUE_STR AS valueStr,PRO_1 AS pro_1,PRO_2 AS pro_2,PRO_3 AS pro_3,PRO_4 AS pro_4,PRO_5 AS pro_5,PARA_ID AS paraID,PARA_DESC AS paraDesc,ISCLIENT AS isclient     FROM T_GLOBAL  .  
--- Check the SQL Statement (preparation failed).  
--- Cause: java.sql.SQLException: null,  message from server: "Host ‘iZ23e08c18sZ‘ is not allowed to connect to this MySQL server"; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred in com/linyun/xgame/dao/sqlmap/Global.xml.  
--- The error occurred while executing query.  
--- Check the    SELECT VALUE_INT AS valueInt, VALUE_STR AS valueStr,PRO_1 AS pro_1,PRO_2 AS pro_2,PRO_3 AS pro_3,PRO_4 AS pro_4,PRO_5 AS pro_5,PARA_ID AS paraID,PARA_DESC AS paraDesc,ISCLIENT AS isclient     FROM T_GLOBAL  .  
--- Check the SQL Statement (preparation failed).  
--- Cause: java.sql.SQLException: null,  message from server: "Host ‘iZ23e08c18sZ‘ is not allowed to connect to this MySQL server"
 at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
 at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
 at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)

……

===========================================================

红色部分就把问题暴露出来了:数据库访问失败了...

访问数据库失败原因:Mysql默认是不可以通过远程机器访问的,所以我们需要开启远程访问。

解决方式(网上有提供其他方法,这里只说我选择的方式):

1.进入到Mysql控制台。运行-CMD,一直cd进入到Mysql的bin目录,输入:mysql -uroot -p

2.提示输入mysql的访问密码。

3.输入密码后输入:use mysql;(记得分号)

4.输入:show tables;

5.输入:select host from user;

6.输入:update user set host = ‘%‘ where user = ‘root‘ and host = ‘loaclhost‘;

OK。。。大功告成。。。如果执行命令没出错的话,再次运行startup.bat,这回就可以运行妥妥的。

Tomcat部署遇到的问题,布布扣,bubuko.com

时间: 2024-10-29 03:05:27

Tomcat部署遇到的问题的相关文章

tomcat部署项目,部署地方和删除部署项目那几个文件

一tomcat 部署项目 1,部署项目是,把war包直接放到tomcat下webapps文件下 2,访问,项目名为war名 二删除部署项目 1,logs 下所有文件 2,temp所有文件 3,work下所有文件work\Catalina\localhost\ 4,conf,下Catalina文件 5.webapps下项目

Tomcat 部署 The APR based Apache Tomcat Native ...

Tomcat启动时提示org.apache.catalina.core.AprLifecycleListener- ApacheTomcatJavaJNIIE 网上针对此问题提供的文章很多,但多数和我遇到的情况有出入,所以我将其记录于此 最近开发中需要使用Tomcat,随意找来个较新的版本6.0.20就用.发现启动时提示: "2010-5-12 18:06:06 org.apache.catalina.core.AprLifecycleListener init 信息: The APR base

apache整合tomcat部署集群

近日,由于公司项目需要,所以学习了apache整合tomcat以及集群的一些知识. 所以做下笔记日后回顾可以用到. apache只有处理静态事物的能力, 而tomcat的强项就是处理动态的请求,所以apache和tomcat整合相互取长补短,由apache作为入口,如果是请求静态页面或者是静态文件,由apache直接提供,如果是请求动态页面,则让apache分发到tomcat,由tomcat处理以后再响应给客户端. apache和tomcat的整合需要准备的一些软件列表: 图1 说明: 1.首先

Eclipse Tomcat部署项目没有加载新加的静态资源文件

额,一直用MyEclipse,后来用Eclipse时,启动项目后去Tomcat webapps找对应文件夹,发现没有,才知道Eclipse 默认不往本地Tomcat部署. 1.eclipse不像MyEclipse默认将项目部署到tomcat安装目录下的webapps中,而默认部署到工作目录下的.metadata.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps中,tmp1文件夹里面存放着该项目的信息. 2.解决: 为了使项目默认部署到tomc

Tomcat部署Web应用方法总结

Tomcat部署Web应用方法总结在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署. 在下文中$CATALINA_HOME 指的是Tomcat根目录. 一.静态部署静态部署指的是我们在服务器启动之前部署我们的程序,只有当服务器启动之后,我们的Web应用程序才能访问. 以下3种方式都可以部署:(以maintain项目为例说明,maintain目录假设是F:/maintain) 1.利用Tomcat自动部署将maintain目录拷贝到$CATALINA_HOME/webap

Tomcat 部署

<CATALINA_HOME>/webapps: Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录. 1.war包部署:  将需要发布的web应用打成war文件, (例如:ROOT.war) 拷贝到<CATALINA_HOME>/webapps下, 启动Tomcat, 如果是ROOT.war,直接通过http://ip:port/即可访问 如果是xxxx.war,可通过http://ip:port/xxxx/访问 这种方式比较简单,但是web应用程序必须在we

在Eclipse中使用tomcat部署后的发布位置

学习java web 中的jsp时,想要查看其发布后的访问生成的java和class文件在哪里,但是不知道其放在哪里了. 在eclipse中使用了tomcat部署工程,那么将会建立一个Server的项目 各种查看都没有相关的信息...(这个工程不能关闭,关闭则将导致tomcat不能部署了) 于是乎尝试在jsp中打印文件的位置得到了想要的位置了. <% out.print(application.getRealPath("/")); %> 访问得到 D:\workspace\

Tomcat部署记事

1.导入证书到jdk里 keytool -import -alias 证书名称 -file 证书地址 -keystore 导入位置 例:keytool -import -alias co3 -file C:\Users\Administrator\Desktop\1\co3_sso.cer -keystore D:\soft-package\DevelopmentTools\BingoIDE\jdk\jre\lib\security\cacerts Tomcat部署记事,布布扣,bubuko.c

【转载】centos7+tomcat部署JavaWeb项目超详细步骤

我们平时访问的网站大多都是发布在云服务器上的,比如阿里云.腾讯云等.对于新手,尤其是没有接触过linux系统的人而言是比较有困难的,而且至今使用云服务器也是有成本的,很多时候我们可以通过虚拟机自己搭建一个测试服务器来运行我们的javaWeb项目.这里我就从头到尾开始详细的介绍一下如何部署javaWeb项目到centos7上. 总体分为三部分:1.java环境.2.tomcat环境.3.JavaWeb项目部署 一.安装java环境 centos7安装java环境比较简单,我是通过virtualBo

Linux+java+opencv2.4.13+tomcat部署

花了n多小时终于将opencv编译完,生成的so动态库和jar文件,并将项目用tomcat 部署上了.对于我这个菜鸟来说真心不容易. 之前在windows里用opencv2.4.13.exe 安装完自动生产opencv_java2413.dll 和opencv_java.jar.但是项目要部署到Linux上这个就不行了.结果网上也找不到对应的opencv_java.so可以下下载.结果只能自己编译,现下载虚拟机里安装的ubuntu系统.并在里面把所需要的开发环境搭建好. 参考资料:http://