HippoCMS 7.8是否支持使用未爆炸的WAR文件进行部署?

时间:2015-07-16 18:45:55

标签: tomcat7 war hippocms

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属性更改回server.xml中的"true",那么一切正常。

1 个答案:

答案 0 :(得分:0)

似乎错误消息是由Tomcat 7中的注释扫描引起的。另请参阅此其他thread。 AFAIK对于运行Hippo CMS未爆炸没有已​​知的限制,但这不是最常用的设置。您可能希望禁用注释扫描,看看是否能解决问题。如果没有,那么看到另一个堆栈跟踪会很有趣。