HippoCMS 7.8 是否支持使用未分解的 WAR 文件在 Tomcat 7 上进行部署?
我在 server.xml 中尝试了以下设置:
<Host name="localhost" appBase="/apps/cms/webapps"
unpackWARs="false" autoDeploy="false" deployOnStartup="false"
deployXML="false">
<Context
path="/cms"
docBase="public-cms-${hippo.version}"
reloadable="false"
crossContext="false">
<Resource
name="jdbc/repositoryDS" auth="Container" type="javax.sql.DataSource"
maxActive="20" maxIdle="10" minIdle="2" initialSize="2" maxWait="10000"
testOnBorrow="true" validationQuery="select 1"
poolPreparedStatements="true"
username="**********" password="**********"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/hippo"
/>
</Context>
</Host>
当我启动 Tomcat 时,我在catalina.out
日志中收到类似于以下内容的错误:
Jul 16, 2015 5:46:16 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [ucar/nc2/iosp/hdf4/TagEnum.class] from Jar [jar:jndi:/localhost/cms/WEB-INF/lib/netcdf-4.2-min.jar!/] for annotations
java.io.EOFException
at org.apache.tomcat.util.bcel.classfile.FastDataInputStream.readUnsignedShort(FastDataInputStream.java:120)
at org.apache.tomcat.util.bcel.classfile.ClassParser.readAttributes(ClassParser.java:110)
at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:94)
at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2071)
at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1947)
at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1913)
at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1898)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1330)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:889)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:386)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5380)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Tomcat 最终报告启动成功,但是当我尝试访问 CMS webapp 时,我收到 500 错误,并显示消息“请求处理已执行 100 步,这意味着它可能处于无限循环中。”
unpackWARs
如果我将属性改回"true"
server.xml 中,一切正常。