在Tomcat 7中部署WAR时出现严重错误

时间:2011-07-26 15:22:41

标签: tomcat java-ee war tomcat7

我正在尝试将WAR文件(从Ext GWT项目)部署到Tomcat 7中,我收到一个我不明白的错误。我玩过Tomcat Manager的权限,WAR文件似乎没问题(至少我能用zip应用程序提取它)。任何人都可以帮我理解这个吗?

非常感谢!

来自“catalina.log”的错误:

INFO: Undeploying context [/CampaignManager]
26/Jul/2011 14:32:45 org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive gestaoApolices.war
26/Jul/2011 14:32:52 org.apache.catalina.startup.HostConfig deployWAR
SEVERE: Error deploying web application archive gestaoApolices.war
java.lang.NullPointerException
    at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:407)
    at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:138)
    at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:735)
    at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:861)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:340)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89)
    at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:379)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:136)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:932)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:529)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1377)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
    at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1436)
    at org.apache.catalina.manager.HTMLManagerServlet.upload(HTMLManagerServlet.java:334)
    at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:211)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:187)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:572)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:851)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:278)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

26 / Jul / 2011 14:43:34 org.apache.catalina.startup.HostConfig checkResources

2 个答案:

答案 0 :(得分:2)

就此分享更多信息。毕竟这不是Tomcat7中的错误,这是椅子和键盘之间的问题:/。

我使用“zip”的Ant任务来生成WAR文件。因此与Tomcat7的专家:

“您的WAR文件无效。我怀疑它是使用zip实用程序创建的 比用罐子。默认字符集不同。你需要使用jar 你有使用非ASCII字符的文件名。“

顺便说一下,我正在开发一个基于Google GWT的应用程序,框架会自动生成“build.xml”。 “战争”目标是我唯一没有成本的目标。

答案 1 :(得分:0)

我刚刚发现问题出在WAR中的特定文件中:

“Cliente-TextExtractRules-Açoreana.properties”

文件名具有葡萄牙语重音字符“ç”。

在该文件中用“c”替换char之后,部署就完成了。

(我要离开这个对其他人有用的答案)

不确定这个问题是否会得到解决,但我已经向To​​mcat7团队报告了一个错误(Bugzilla ID:51580)

相关问题