部署到maven tomcat 热部署时总是出错是什么原因

14:44 提问
求教:maven工程部署到tomcat出现问题
八月 20, :39 下午 org.apache.catalina.startup.Catalina start
SEVERE: The required Server component failed to start so Tomcat is unable to start.
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.startup.Catalina.start(Catalina.java:689)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:739)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 11 more
八月 20, :39 下午 org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-apr-8080"]
八月 20, :39 下午 org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-apr-8009"]
八月 20, :39 下午 org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
八月 20, :39 下午 org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-apr-8080"]
八月 20, :39 下午 org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-apr-8009"]
八月 20, :39 下午 org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
14:37:39 [INFO] org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:862) : Closing Root WebApplicationContext: startup date [Thu Aug 20 14:37:19 CST 2015]; root of context hierarchy
八月 20, :39 下午 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [/emp] registered the JDBC driver [oracle.jdbc.driver.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
八月 20, :39 下午 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/emp] appears to have started a thread named [Timer-0] but has failed to stop it. This is very likely to create a memory leak.
按赞数排序
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!
导致上面的原因可能有多种情况。
你直接通过 maven打包成 war包(mvn clean install) 放到tomcat中能运行。如果能运行则可能是你IDE环境的问题,那么分别清理下项目和tomcat。
如果打包都不成功,则需要注意pom.xml文件,根据具体错误再找问题了
其他相似问题maven pom.xml 配置文件错误
求助,怎么解决此问题!
Failure to transfer org.apache.maven.shared:maven-shared-components:pom:15 from http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven.shared:maven-shared-components:pom:15 from/to central (http://repo.maven.apache.org/maven2): No response received after 60000 pom.xml /seahi line 1 Maven Configuration Problem
进入本地仓库,删除对应文件夹再重新maven update
是的,重新下载一下。这个是没有下载jar包的问题,听一楼的,然后将项目clean,再编译一下。
org.apache.maven.shared:maven-shared-components 到本地仓库把这个组件的文件夹删掉Maven自动部署Tomcat错误排除 - 今心 - 博客园
在Maven与Tomcat配合部署过程中,最常见的错误有三种,折腾了半天,终于找到三种错误产生的原因,以及相应的完美解决办法
1. &Connection refused错误
报错信息如下:
[ERROR]Failed to execute goal org.apache.tomcat.maven: tomcat7-maven-plugin: 2.0- SNAPSHOT: deploy (default-cli) on project helloworld: Cannot invoke Tomcat manager: Connection refused: connect -& [Help 1]
原因:未启动Tomcat服务器
解决办法:先启动Tomcat服务器再选择Run
&2. &401错误
报错信息如下:
[ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin: 2.0-SNAPSHOT:deploy (default-cli) on project helloworld: Cannot invoke Tomcat manager: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/text/deploy?path=%2Fhelloworld -& [Help 1]
原因:权限问题
解决办法在$CATALINA_BASE/conf/tomcat-users.xml,
如D:\apache-tomcat-7.0.34\conf\tomcat-users.xml文件中添加权限
&role rolename=&manager&/&
&user username=&admin& password=&admin& roles=&manager&/&
修改pom.xml文件,在&configuration&&&&/configuration&中添加
&username&admin&/username&
&password&admin&/password&
&3. 403错误
报错信息如下:
[ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin: 2.0-SNAPSHOT:deploy (default-cli) on project helloworld: Cannot invoke Tomcat manager: Server returned HTTP response code: 403 for URL: http://localhost:8080/manager/html/deploy?path=%2Fhelloworld -& [Help 1]
原因:产生该问题有可能因为两个原因,具体参见解决办法
解决办法:
1)如果使用的是Tomcat 7,需要修改pom.xml中部署的url地址,将&url&http://localhost:8080/manager&/url&改&url&http://localhost:8080/manager/text&/url&
2)给tomcat用户权限分配上,需要同时具备manager-gui和manager-script权限,我在遇到该问题时,就是忘了分配manager-script权限。
正确的conf/tomcat-users.xml配置应为:
&tomcat-users&
&role rolename="manager-gui"/&
&role rolename="manager-script"/&
&user username="admin& password="admin" roles="manager-gui, manager-script"/&
&/tomcat-users&maven构建项目自动部署到tomcat中遇到的各种sb问题总结
苦逼的人每天都能遇到苦逼的问题,把这些问题记录下来,等你们来了就不苦逼了!也算积德行善。。
本教程主要解决两个问题:(主要是部署到Tomcat 6.x 和 Tomcat 7.x也有区别,请各自座号入座.)
1.苦逼的401问题
[ERROR] Failed to execute goal
org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy(default-cli) on project
my_struts: Cannot invoke Tomcat manager: Server returned HTTP response code: 401
for URL: http://localhost:8080/manager/deploy?path=%2Fmy_struts&war= -&
2.苦逼的403错误
maven 403 No server username specified - using default
Cannot invoke Tomcat manager: Server rened HTTP response code: 403 for URL
[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy(default-cli) on project my_struts: Cannot invoke Tomcat manager: Server returned HTTP response code: 403 for URL: http://localhost:8080/manager/deploy?path=%2Fframework&war=
INFO] Deploying war to http://localhost:8080/report
[DEBUG] No server username specified - using default
解决方案:
1.对于苦逼的401问题和403问题,这个问题是因为你的tomcat里面木有写权限,还有你的pom.xml配置的不对。
&!-- 以下是Tomcat 7.x 系列--&
C:\tomcat\apache-tomcat-7.0.34\conf\tomcat-users.xml文件打开,添加用户和密码
&?xml version='1.0' encoding='utf-8'?&
&tomcat-users&
&role rolename="manager"/&
&role rolename="manager-script"/&
&role rolename="admin-gui"/&
&role rolename="manager-gui"/&
&user username="admin" password="pass!@#" roles="manager,manager-gui,admin-gui,manager-script"/&
&/tomcat-users&
&!-- 以下是Tomcat 6.x 系列--&
C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\tomcat-users.xml
&?xml version='1.0' encoding='utf-8'?&
&tomcat-users&
&role rolename="manager"/&
&role rolename="manager-script"/&
&role rolename="admin"/&
&role rolename="admin-gui"/&
&role rolename="manager-gui"/&
&user username="admin" password="pass!@#" roles="admin,manager,manager-gui,admin-gui,manager-script"/&
&/tomcat-users&
C:\Documents and Settings\Administrator\.m2\settings.xml 文件打开,写入用户名和密码
&id&tomcat&/id&
&username&admin&/username&
&password&pass!@#&/password&
&/servers&
D:\workspaces\你的项目目录\pom.xml文件打开,写入配置信息
&groupId&org.codehaus.mojo&/groupId&
&artifactId&tomcat-maven-plugin&/artifactId&
&version&1.1&/version&
&configuration&
&server&tomcat&/server&&!-- 这个server标签里面的值(tomcat)要和你的setting.xml里面的id的值(tomcat)一致--&
&username&admin&/username&
&password&pass!@#&/password&
&!-- Tomcat 7.x --&
&url&http://localhost:8080/manager/text&/url&
&!-- Tomcat 6.x
&url&http://localhost:8080/manager&/url&
&!-- 这个()是你的tomcat管理地址,如果使用Tomcat 7.x后面的/text要加上,如果使用Tomcat 6.x就不要加了,不要写/html,这个就是解决403苦逼问题的--&
&path&/report&/path&
&/configuration&
然后重新如图所示去编译你的maven项目吧
随后你的concole控制台就会打印出
随后tomcat管理页 http://192.168.168.141:8080/manager/html 即可看到你的刚才搞定的项目。
不容易啊 不容易啊!!!!!!!每个人情况都有所不同,但是解决了就好。
snowdream86

我要回帖

更多关于 maven jetty 热部署 的文章

 

随机推荐