昨天都今天忙着发布一个项目,不怕笑话,还是我第一次在linux下发布,以前都是在windows下本地整,什么都不管,想怎么弄就怎么弄,大不了重装tomcat,毕竟是服务器,不可乱来,所以都有点畏首畏尾的。
一:拷贝整个webroot下面的内容到机器指定位置。
二:打包代码成jar文件,切忌不能把有些配置文件打包进去。放到webroot-》lib里面。
三:配置tomcat,部署项目有三种方式,意识配置一个xml文件到conf-》Catalina-》localhost下面文件内容:
<?xml version="1.0" encoding="UTF-8" ?>
<Context docBase="项目路径" privileged="true" antiResourceLocking="false" antiJARLocking="false" />
四:重启tomcat,查看日志文件,很重要,有什么错误就一个一个出来,处理方法很多,一步步来。
1,ÑÏÖØ: Error configuring application listener of class org.springframework.web.util.Log4jConfigListener
java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1355)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3711)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:904)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:867)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
2010-2-5 9:08:05 org.apache.catalina.core.StandardContext listenerStart
ÑÏÖØ: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1355)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3711)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 缺少spring.jar
java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener 缺少 logg。jar
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
ERROR 2010-02-05 09:35:59,446 StandardContext:listenerStart - Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: Line 4 in XML document from URL [file:/home/cqxs3/www/thirdpartyweb/WEB-INF/classes/applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException: Document root element "beans", must match DOCTYPE root "null".
org.xml.sax.SAXParseException: Document root element "beans", must match DOCTYPE root "null".
这是applicationContext.xml的配置问题,spring1.x 和spring2.x 的冲突,解析applicationContext.xml失败,替换成<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd" >
ERROR 2010-02-05 09:58:17,939 StandardContext:listenerStart - Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from URL [file:/home/cqxs3/www/thirdpartyweb/WEB-INF/classes/applicationContext.xml]; nested exception is java.net.UnknownHostException: www.springframework.orgj
因为那台服务器不能连接外网,而jar里面有没有spring—bean。jar,默认情况,显示寻找本地的http://www.springframework.org/dtd/spring-beans-2.0.dtd如果失败再从网上找,解决办法可以吧http://指引到本地 改成file:// 或者添加spring—bean。jar。
实在无奈,我把所有的spring包到传上去了,
ERROR 2010-02-05 10:30:46,535 StandardContext:filterStart - Exception starting filter struts2
The package name 'struts' at location package - jar:file:/home/cqxs3/www/thirdpartyweb/WEB-INFb/thirdpartyweb.jar!/struts.xml:10:50 is already been used by another package at location package - file:/home/cqxs3/www/thirdpartyweb/WEB-INF/classes/struts.xml:10:50 - package - jar:file:/home/cqxs3/www/thirdpartyweb/WEB-INFb/thirdpartyweb.jar!/struts.xml:10:50
这是之前提到的,我们java代码打包成jar时不能把配置文件也打进去。
经过这么一次,学习不少东西,遇到问题,先要努力找到问题的原因,找到原因了就成功一半了。比如发现部署失败了,先看tomcat日志,查看日志提示的是什么错误,才好对症下药。努力ing!!!!在此也感谢我们老刘同志,谢谢!。
linux 下发布项目
最新推荐文章于 2024-07-19 15:41:30 发布