Банки в моем проекте Grails не поднимаются при развертывании в Tomcat 5.5 - PullRequest
2 голосов
/ 12 ноября 2010

Я весь день запускаю тестовое приложение Grails с моим приложением, и это нормально. Я набираю «grails prod war», чтобы получить войну, и выкидываю ее в папку webapps моей установки tomcat. Теперь я получаю сообщение так:

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 точно есть jar docx4j, и он также находится в папке web-inf lib.

Ответы [ 2 ]

3 голосов
/ 12 ноября 2010

Вы получаете java.lang.NoClassDefFoundError, а не java.lang.ClassNotFoundException. Класс загружается, но класс, от которого он зависит (прямо или косвенно через другой класс), отсутствует. Скорее всего, вам не хватает jar, который docx4j требует в качестве зависимости.

0 голосов
/ 12 ноября 2010

Убедитесь, что у вас правильная версия docx4j и что в вашем classpath нет абсолютно никакой другой версии docx4j, возможно, существует версия этой библиотеки, в которой не реализован класс Content.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...