【问题标题】:Severe error when deploying WAR in Tomcat 7在 Tomcat 7 中部署 WAR 时出现严重错误
【发布时间】:2011-07-26 15:22:40
【问题描述】:

我正在尝试将一个 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

【问题讨论】:

  • 是否可以部署其他(简单)WAR?

标签: tomcat jakarta-ee war tomcat7


【解决方案1】:

请分享更多关于此的信息。毕竟不是Tomcat7的bug,而是椅子和键盘之间的问题:/。

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

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

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

【讨论】:

    【解决方案2】:

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

    “Cliente-TextExtractRules-Açoreana.properties”

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

    将该文件中的字符替换为“c”后,部署完成。

    (我离开这个可能对其他人有用的答案跳跃)

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 2021-03-04
      • 1970-01-01
      相关资源
      最近更新 更多