java - 部署到 tomcat 5.5 时,我的 grails 项目中的 jar 没有被拾取

标签 java tomcat grails

我整天都在用我的应用程序运行 grails 测试运行应用程序,一切都很好。我输入“grails prod war”来获取 war ,并将其转储到我的 tomcat 安装的 webapps 文件夹中。现在我收到这样的消息:

11.11.2010 16:35:11 *ERROR* GrailsExceptionResolver: Executing action [index] of controller [ResumeController]  caused e
xception: java.lang.NoClassDefFoundError: Could not initialize class org.docx4j.jaxb.Context (GrailsExceptionResolver.ja
va, line 72)
org.codehaus.groovy.grails.web.servlet.mvc.exceptions.ControllerExecutionException: Executing action [index] of controll
er [ResumeController]  caused exception: java.lang.NoClassDefFoundError: Could not initialize class org.docx4j.jaxb.Cont
ext
        at org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:382)
        at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.NoClassDefFoundError: Could not initialize
class org.docx4j.jaxb.Context
        ... 3 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.docx4j.jaxb.Context
        at org.docx4j.openpackaging.contenttype.ContentTypeManager.parseContentTypesFile(ContentTypeManager.java:599)
        at org.docx4j.openpackaging.io.LoadFromZipNG.process(LoadFromZipNG.java:199)
        at org.docx4j.openpackaging.io.LoadFromZipNG.get(LoadFromZipNG.java:188)
        at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:188)
        at org.docx4j.openpackaging.packages.WordprocessingMLPackage.load(WordprocessingMLPackage.java:169)
        at com.iai.skillsdb.DocxHelpers.DocxParser.openDocx4j(DocxParser.java:70)
        at ResumeController$_closure8.doCall(ResumeController.groovy:164)
        at ResumeController$_closure8.doCall(ResumeController.groovy)
        at ResumeController.invokeMethod(ResumeController.groovy)
        at ResumeController$_closure1.doCall(ResumeController.groovy:41)
        at ResumeController$_closure1.doCall(ResumeController.groovy)
        ... 3 more

这是什么原因造成的?我的 WAR 中肯定有 docx4j jar,它也位于 web-inf lib 文件夹中。

最佳答案

您收到的是java.lang.NoClassDefFoundError,而不是java.lang.ClassNotFoundException。正在加载该类,但它所依赖的类(直接或通过另一个类间接)不存在。您很可能缺少 docx4j 需要作为依赖项的 jar。

关于java - 部署到 tomcat 5.5 时,我的 grails 项目中的 jar 没有被拾取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4159612/

相关文章:

java - 如何使用 IntelliJ IDEA 在 tomcat 中设置 JNDI 资源

jsf - 如何在Tomcat上安装和使用CDI?

date - 如何 grok catalina 日志文件

java - g选择:如何从一个列表中提取值并从另一个列表中显示选项?

java.lang.ClassCastException : jdk. nashorn.internal.objects.NativeArray 无法转换为 java.lang.Comparable

java - 如何在Java中找到今天之前3个月的开始时间?

java - 从不同的类文件调用方法来执行任务

java - Tomcat 和 Spring MVC 中的缓存

unit-testing - Grails:从模拟服务返回模拟对象

grails - Groovy-将值附加到字符串中的变量