Grails run应用程序失败,原因是:";java.lang.ClassNotFoundException:org.docx4j.openpackaging.packages.WordprocessingMLPackage";

Grails run应用程序失败,原因是:";java.lang.ClassNotFoundException:org.docx4j.openpackaging.packages.WordprocessingMLPackage";,java,grails,noclassdeffounderror,docx4j,Java,Grails,Noclassdeffounderror,Docx4j,我已经将我的应用程序更新为Grails2.3,现在在启动和运行应用程序时遇到了一个非常令人沮丧的问题。我希望有人能提供一些帮助。我们依赖doc4j,每次运行应用程序时,我都会得到一个“java.lang.ClassNotFoundException:org.docx4j.openpackaging.packages.WordprocessingMLPackage” 在做了一些研究之后,我发现这个问题可能与我的类路径中没有docx4j的所有依赖项有关,但是我已经检查并验证了这里列出的所有依赖项都在

我已经将我的应用程序更新为Grails2.3,现在在启动和运行应用程序时遇到了一个非常令人沮丧的问题。我希望有人能提供一些帮助。我们依赖doc4j,每次运行应用程序时,我都会得到一个“java.lang.ClassNotFoundException:org.docx4j.openpackaging.packages.WordprocessingMLPackage”

在做了一些研究之后,我发现这个问题可能与我的类路径中没有docx4j的所有依赖项有关,但是我已经检查并验证了这里列出的所有依赖项都在“Grails依赖项”中,在下面:

属性->JavaBuildPath->库

导致故障的软件包也位于以下位置:

Grails Dependencies->Docx4j-2.5.0.jar->org.Docx4j.openpackaging.packages-> WordprocessingMLPackage.class

这是我的堆栈跟踪:

| Loading Grails 2.3.0
| Configuring classpath.
| Environment set to development.....
| Packaging Grails application.....
| Error log4j:ERROR Property missing when configuring log4j: appName
| Running Grails application
| Error log4j:ERROR Property missing when configuring log4j: appName
2013-09-19 21:34:23,746 ERROR [context.ContextLoader] Context initialization failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]:             Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to     locate constructor with Class parameter for class       org.codehaus.groovy.grails.commons.DefaultGrailsControllerClass
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    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:722)
Caused by: java.lang.RuntimeException: Unable to locate constructor with Class parameter for class org.codehaus.groovy.grails.commons.DefaultGrailsControllerClass
... 5 more
Caused by: java.lang.reflect.InvocationTargetException
    ... 5 more
Caused by: java.lang.NoClassDefFoundError:    org/docx4j/openpackaging/packages/WordprocessingMLPackage
at java.lang.Class.privateGetDeclaredMethods(Class.java:2451)
    at java.lang.Class.getDeclaredMethods(Class.java:1810)
    ... 5 more
Caused by: java.lang.ClassNotFoundException: org.docx4j.openpackaging.packages.WordprocessingMLPackage
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 7 more
2013-09-19 21:34:23,762 ERROR [context.GrailsContextLoader] Error initializing the   application: Error creating bean with name 'pluginManager' defined in ServletContext   resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested   exception is java.lang.RuntimeException: Unable to locate constructor with Class parameter   for class org.codehaus.groovy.grails.commons.DefaultGrailsControllerClass
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name     'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]:     Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to    locate constructor with Class parameter for class   org.codehaus.groovy.grails.commons.DefaultGrailsControllerClass
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    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:722)
Caused by: java.lang.RuntimeException: Unable to locate constructor with Class parameter for class org.codehaus.groovy.grails.commons.DefaultGrailsControllerClass
    ... 5 more
Caused by: java.lang.reflect.InvocationTargetException
    ... 5 more
Caused by: java.lang.NoClassDefFoundError: org/docx4j/openpackaging/packages/WordprocessingMLPackage
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2451)
    at java.lang.Class.getDeclaredMethods(Class.java:1810)
    ... 5 more
Caused by: java.lang.ClassNotFoundException: org.docx4j.openpackaging.packages.WordprocessingMLPackage
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 7 more
如果您能提供任何帮助,我将不胜感激。谢谢

-----编辑-----

我正在添加BuildConfig.groovy,以防它提供任何额外信息:

/moving plugins dir to plugins directory under main project folder
grails.project.plugins.dir = 'plugins'

grails.project.class.dir = "target/classes"
grails.project.test.class.dir = "target/test-classes"
grails.project.test.reports.dir = "target/test-reports"
//grails.project.war.file = "target/${appName}-${appVersion}.war"

grails.project.dependency.resolver = "maven"
grails.project.dependency.resolution = {
    // inherit Grails' default dependencies
    inherits("global") {
        // uncomment to disable ehcache
        // excludes 'ehcache'
    }
    log "warn"
    repositories {
        grailsPlugins()
        grailsHome()
        grailsCentral()

        // uncomment these to enable remote dependency resolution
        // from public Maven repositories
        mavenCentral()
        mavenLocal()
        //mavenRepo "http://snapshots.repository.codehaus.org"
        //mavenRepo "http://repository.codehaus.org"
        //mavenRepo "http://download.java.net/maven/2/"
      //mavenRepo "http://repository.jboss.com/maven2/"
    }

    dependencies {
        // specify dependencies here under either 'build', 'compile',
        // 'runtime', 'test' or 'provided' scopes eg.

        // runtime 'mysql:mysql-connector-java:5.1.16'
    }

    plugins {

    //----- for versions before 2.3 -----//
    //compile ":hibernate:$grailsVersion"

        //build ":tomcat:$grailsVersion"


    // for versions after 2.3
    //compile':hibernate:3.6.10.M3'

    // moved from application.properties
    compile ":cookie:0.4"
    compile ":dojo:1.7.2.0"
    compile ":help-balloons:1.4"

    compile ":jsecurity:0.4.1"
    compile ":p6spy:0.5"
    compile ":searchable:0.6.4"

    runtime ":hibernate:3.6.10.1"
    build ':tomcat:7.0.41'



   }
}

您是在使用BuildConfig.groovy包含此依赖项、lib目录还是其他内容?如果是BuildConfig,文件是什么样子的?您试图从何处执行“运行应用程序”命令?控制台还是IDE内部?如果是IDE,什么IDE?嗨,dspies。谢谢你的回复。依赖项本身在我的lib文件夹中,它会自动添加到构建路径中“Grails依赖项”下的项目中。我正在使用最新的Spring工具套件IDE,这就是我执行“run app”的地方。我还添加了BuildConfig.groovy,以防有所帮助。您是否尝试过运行
grails依赖关系报告
()。此外,可搜索插件不支持Grails 2.3您是否有能力/自由升级到docx4j 2.7.1或更高版本?运行依赖关系报告后,我似乎得到: