【发布时间】:2013-02-12 19:16:32
【问题描述】:
我的 buildConfig 中有以下内容:
compile ":json-rest-api:1.0.11"
当我通过 Eclipse STS 查看我的类路径下的依赖项时,我可以看到 simple-json-1.1.jar 已包含在内。
当我为部署构建战争时,我发现它不包括这个 jar。 我在部署中需要它来测试推送通知。由于缺少该类,我目前收到当前错误:
2013-02-11 08:55:46,390 ERROR [STDERR] (Thread-85) org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.NoClassDefFoundError: org/json/simple/parser/ParseException
2013-02-11 08:55:46,390 ERROR [STDERR] (Thread-85) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:97)
2013-02-11 08:55:46,390 ERROR [STDERR] (Thread-85) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
2013-02-11 08:55:46,390 ERROR [STDERR] (Thread-85) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1047)
2013-02-11 08:55:46,390 ERROR [STDERR] (Thread-85) at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1110)
2013-02-11 08:55:46,390 ERROR [STDERR] (Thread-85) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:877)
2013-02-11 08:55:46,390 ERROR [STDERR] (Thread-85) at groovy.lang.Closure.call(Closure.java:412)
2013-02-11 08:55:46,390 ERROR [STDERR] (Thread-85) at groovy.lang.Closure.call(Closure.java:406)
2013-02-11 08:55:46,391 ERROR [STDERR] (Thread-85) at groovy.lang.Closure.run(Closure.java:490)
2013-02-11 08:55:46,391 ERROR [STDERR] (Thread-85) at java.lang.Thread.run(Thread.java:619)
2013-02-11 08:55:46,391 ERROR [STDERR] (Thread-85) Caused by: java.lang.NoClassDefFoundError: org/json/simple/parser/ParseException
2013-02-11 08:55:46,391 ERROR [STDERR] (Thread-85) at java.lang.Class.forName0(Native Method)
2013-02-11 08:55:46,391 ERROR [STDERR] (Thread-85) at java.lang.Class.forName(Class.java:169)
2013-02-11 08:55:46,391 ERROR [STDERR] (Thread-85) at com.mysite.notification.AndroidNotificationService.class$(AndroidNotificationService.groovy)
2013-02-11 08:55:46,391 ERROR [STDERR] (Thread-85) at com.mysite.notification.AndroidNotificationService.$get$$class$com$google$android$gcm$server$Sender(AndroidNotificationService.groovy)
2013-02-11 08:55:46,391 ERROR [STDERR] (Thread-85) at com.mysite.notification.AndroidNotificationService.sendMessage(AndroidNotificationService.groovy:22)
2013-02-11 08:55:46,393 ERROR [STDERR] (Thread-85) at com.mysite.notification.AndroidNotificationService$$FastClassByCGLIB$$5e8e3148.invoke(<generated>)
我需要在某处明确设置吗?它甚至是 json-rest-api 插件的依赖项吗?
谢谢
【问题讨论】:
-
我会使用
grails dependency-report来确定它的来源。它似乎不是json-rest-api的依赖项。如果它被证明是build范围内的某个东西的传递依赖,那么它不会卷入战争,你必须为此添加一个显式的runtime依赖。 -
好的。 com.googlecode.json-simple 似乎是 json-simple。我目前在 buildConfig 中也有以下内容: dependencies { compile'org.apache.httpcomponents:httpclient:4.1.2' compile 'com.google.gcm:gcm:1.0' compile 'com.google.gcm:gcm-server:1.0 ' } 也许我需要添加?编译'org.json-simple:json-simple:1.1'
标签: grails grails-plugin