Tomcat7.8是否支持使用未分解的WAR文件在HippoCMS 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个步骤,这意味着它可能处于无限循环中”。
如果我在server.xml中将unpackWARs属性改回"true",一切都会正常工作。
发布于 2015-07-21 17:05:09
该错误消息似乎是由于Tomcat7中的注释扫描造成的。另请参阅此thread。AFAIK运行河马CMS未爆炸没有已知的限制,但这不是最常用的设置。您可能希望禁用注释扫描,看看这是否解决了问题。如果没有,那么看到另一个堆栈跟踪将是一件有趣的事情。
https://stackoverflow.com/questions/31462162
复制相似问题