2011-05-17 140 views
1

我有一個Grails插件具有以下BuildCofnig.groovyGrails的Maven的依賴解析

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.resolution = { 
    // inherit Grails' default dependencies 
    inherits("global") { 

    } 

    log "warn" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose' 
    repositories { 
     grailsPlugins() 
     grailsHome() 
     mavenCentral() 
     mavenLocal() 
     mavenRepo "http://repository.codehaus.org" 
     flatDir name: 'lib', dirs: "${userHome}/libs" 
    } 

    dependencies { 

     runtime('mysql:mysql-connector-java:5.1.9') 

     compile('net.sf.jasperreports:jasperreports:4.0.1') { 
      excludes 'antlr', 'commons-beanutils', 'commons-collections', 'commons-logging', 
        'ant', 'mondrian', 'commons-javaflow', 'barbecue', 'xml-apis-ext', 'xml-apis', 'xalan', 'groovy', 'groovy-all', 'hibernate', 'saaj-api', 'servlet-api', 
        'xercesImpl', 'xmlParserAPIs', 'spring-core', 'bsh', 'spring-beans', 'jaxen', 'barcode4j', 'batik-svg-dom', 'batik-xml', 'batik-awt-util', 'batik-dom', 
        'batik-css', 'batik-gvt', 'batik-script', 'batik-svggen', 'batik-util', 'batik-bridge', 'persistence-api', 'jdtcore', 'bcmail-jdk14', 'bcprov-jdk14', 'bctsp-jdk14' 
     } 
     compile('vomsws:VomsWsClient:1.0') 
     compile('com.jaxfront:jaxfront-core:1.0', 
       'com.jaxfront:jaxfront-html:1.0') 
     compile('freemarker:freemarker:2.3.8') 
     compile('org.apache.poi:poi:3.6') 
     compile('commons-net:commons-net:3.0') 
     compile('commons-httpclient:commons-httpclient:3.1') 
    } 
} 

我可以pacakge成功的插件。但是,當我在新鮮的Grails項目中導入此插件並嘗試執行run-app時。我得到以下異常堆棧TACE:

[groovyc] Compiling 452 source files to C:\Users\Alam Sher\.grails\1.3.2\projects\witribe-test-gui\plugin-classes 
: java.lang.NoClassDefFoundError: org/apache/xerces/xni/parser/XMLParseException 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:116) 
    at _GrailsCompile_groovy$_run_closure4_closure10.doCall(_GrailsCompile_groovy:118) 
    at _GrailsCompile_groovy$_run_closure4_closure10.doCall(_GrailsCompile_groovy) 
    at _GrailsSettings_groovy$_run_closure10.doCall(_GrailsSettings_groovy:282) 
    at _GrailsSettings_groovy$_run_closure10.call(_GrailsSettings_groovy) 
    at _GrailsCompile_groovy$_run_closure4.doCall(_GrailsCompile_groovy:105) 
    at _GrailsCompile_groovy$_run_closure3.doCall(_GrailsCompile_groovy:68) 
    at _GrailsPackage_groovy$_run_closure2_closure9.doCall(_GrailsPackage_groovy:84) 
    at _GrailsPackage_groovy$_run_closure2_closure9.doCall(_GrailsPackage_groovy) 
    at _GrailsSettings_groovy$_run_closure10.doCall(_GrailsSettings_groovy:282) 
    at _GrailsSettings_groovy$_run_closure10.call(_GrailsSettings_groovy) 
    at _GrailsPackage_groovy$_run_closure2.doCall(_GrailsPackage_groovy:83) 
    at RunApp$_run_closure1.doCall(RunApp.groovy:28) 
    at gant.Gant$_dispatch_closure5.doCall(Gant.groovy:381) 
    at gant.Gant$_dispatch_closure7.doCall(Gant.groovy:415) 
    at gant.Gant$_dispatch_closure7.doCall(Gant.groovy) 
    at gant.Gant.withBuildListeners(Gant.groovy:427) 
    at gant.Gant.this$2$withBuildListeners(Gant.groovy) 
    at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source) 
    at gant.Gant.dispatch(Gant.groovy:415) 
    at gant.Gant.this$2$dispatch(Gant.groovy) 
    at gant.Gant.invokeMethod(Gant.groovy) 
    at gant.Gant.executeTargets(Gant.groovy:590) 
    at gant.Gant.executeTargets(Gant.groovy:589) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115) 
Caused by: java.lang.NoClassDefFoundError: org/apache/xerces/xni/parser/XMLParseException 
    at java.lang.Class.getDeclaredFields0(Native Method) 
    at java.lang.Class.privateGetDeclaredFields(Class.java:2291) 
    at java.lang.Class.getDeclaredFields(Class.java:1743) 
    at org.codehaus.groovy.vmplugin.v5.Java5.configureClassNode(Java5.java:313) 
    at org.codehaus.groovy.control.ResolveVisitor.checkCyclicInheritence(ResolveVisitor.java:1269) 
    at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1246) 
    at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:148) 
    at org.codehaus.groovy.tools.javac.JavaAwareCompilationUnit$1.call(JavaAwareCompilationUnit.java:63) 
    at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:931) 
    at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:509) 
    at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:487) 
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:464) 
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:448) 
    at org.codehaus.groovy.tools.FileSystemCompiler.compile(FileSystemCompiler.java:57) 
    at org.codehaus.groovy.tools.FileSystemCompiler.doCompilation(FileSystemCompiler.java:170) 
    at org.codehaus.groovy.ant.Groovyc.compile(Groovyc.java:830) 
    at org.codehaus.groovy.ant.Groovyc.execute(Groovyc.java:552) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    ... 24 more 
Caused by: java.lang.ClassNotFoundException: org.apache.xerces.xni.parser.XMLParseException 
    at org.codehaus.groovy.tools.RootLoader.findClass(RootLoader.java:156) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at org.codehaus.groovy.tools.RootLoader.loadClass(RootLoader.java:128) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
    ... 43 more 
--- Nested Exception --- 
java.lang.NoClassDefFoundError: org/apache/xerces/xni/parser/XMLParseException 
    at java.lang.Class.getDeclaredFields0(Native Method) 
    at java.lang.Class.privateGetDeclaredFields(Class.java:2291) 
    at java.lang.Class.getDeclaredFields(Class.java:1743) 
    at org.codehaus.groovy.vmplugin.v5.Java5.configureClassNode(Java5.java:313) 
    at org.codehaus.groovy.control.ResolveVisitor.checkCyclicInheritence(ResolveVisitor.java:1269) 
    at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1246) 
    at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:148) 
    at org.codehaus.groovy.tools.javac.JavaAwareCompilationUnit$1.call(JavaAwareCompilationUnit.java:63) 
    at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:931) 
    at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:509) 
    at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:487) 
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:464) 
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:448) 
    at org.codehaus.groovy.tools.FileSystemCompiler.compile(FileSystemCompiler.java:57) 
    at org.codehaus.groovy.tools.FileSystemCompiler.doCompilation(FileSystemCompiler.java:170) 
    at org.codehaus.groovy.ant.Groovyc.compile(Groovyc.java:830) 
    at org.codehaus.groovy.ant.Groovyc.execute(Groovyc.java:552) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at _GrailsCompile_groovy$_run_closure4_closure10.doCall(_GrailsCompile_groovy:118) 
    at _GrailsCompile_groovy$_run_closure4_closure10.doCall(_GrailsCompile_groovy) 
    at _GrailsSettings_groovy$_run_closure10.doCall(_GrailsSettings_groovy:282) 
    at _GrailsSettings_groovy$_run_closure10.call(_GrailsSettings_groovy) 
    at _GrailsCompile_groovy$_run_closure4.doCall(_GrailsCompile_groovy:105) 
    at _GrailsCompile_groovy$_run_closure3.doCall(_GrailsCompile_groovy:68) 
    at _GrailsPackage_groovy$_run_closure2_closure9.doCall(_GrailsPackage_groovy:84) 
    at _GrailsPackage_groovy$_run_closure2_closure9.doCall(_GrailsPackage_groovy) 
    at _GrailsSettings_groovy$_run_closure10.doCall(_GrailsSettings_groovy:282) 
    at _GrailsSettings_groovy$_run_closure10.call(_GrailsSettings_groovy) 
    at _GrailsPackage_groovy$_run_closure2.doCall(_GrailsPackage_groovy:83) 
    at RunApp$_run_closure1.doCall(RunApp.groovy:28) 
    at gant.Gant$_dispatch_closure5.doCall(Gant.groovy:381) 
    at gant.Gant$_dispatch_closure7.doCall(Gant.groovy:415) 
    at gant.Gant$_dispatch_closure7.doCall(Gant.groovy) 
    at gant.Gant.withBuildListeners(Gant.groovy:427) 
    at gant.Gant.this$2$withBuildListeners(Gant.groovy) 
    at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source) 
    at gant.Gant.dispatch(Gant.groovy:415) 
    at gant.Gant.this$2$dispatch(Gant.groovy) 
    at gant.Gant.invokeMethod(Gant.groovy) 
    at gant.Gant.executeTargets(Gant.groovy:590) 
    at gant.Gant.executeTargets(Gant.groovy:589) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115) 
Caused by: java.lang.ClassNotFoundException: org.apache.xerces.xni.parser.XMLParseException 
    at org.codehaus.groovy.tools.RootLoader.findClass(RootLoader.java:156) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at org.codehaus.groovy.tools.RootLoader.loadClass(RootLoader.java:128) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
    ... 43 more 
Compilation error: java.lang.NoClassDefFoundError: org/apache/xerces/xni/parser/XMLParseException 

類失去了什麼是這裏的問題..說實話我是新來使用Maven這種依賴管理和沒有任何線索都沒有。

歡迎您提出建議,建議。

回答

2

當我看到你設置排除的號碼,一個當然應該對應於未找到類....搜索好一個;-)

+0

我相信排除'xercesImpl'可能是這裏的問題。 .. – 2011-05-17 13:03:11

+0

它實際上並沒有。我從排除中刪除了xercesImpl和xmlParserAPI,並且仍然必須在導入該插件才能正常工作的新grails項目中定義編譯時間依賴項。不明白是什麼導致了這一點,這是醜陋的在grails項目中有這樣顯式的xerces編譯時間依賴。 – 2011-05-19 08:34:47

+0

它後來工作,我忘了接受你的答案。現在就做:) – 2011-08-27 19:02:38