我有一个Java类,它位于src/java外部JAR的引用类中.我将JAR文件复制到lib目录中.当我使用运行应用程序时,grails run-app我得到一个错误,它无法找到导入的类.
将JAR放入Grails项目的正确位置是什么?是否有一些特殊的命令让Grails识别新添加的JAR文件?
我在OS X上运行带有Java 1.6.0_29的Grails 2.0.0.
后续行动: JAR的问题来自Apache HttpComponents.进一步来说:
commons-codec-1.4.jar
commons-logging-1.1.1.jar
httpclient-4.1.2.jar
httpclient-cache-4.1.2.jar
httpcore-4.1.2.jar
httpmime-4.1.2.jar
Run Code Online (Sandbox Code Playgroud)
其中的类文件被编译为Java 1.3,这应该不是问题.
~/temp/org/apache/http $ file HttpResponse.class
HttpResponse.class: compiled Java class data, version 47.0 (Java 1.3)
Run Code Online (Sandbox Code Playgroud)
当您添加或删除jar文件时,lib您需要运行
grails compile --refresh-dependencies
Run Code Online (Sandbox Code Playgroud)
为了让Grails注意到这些变化.
添加jar的正确方法是将其添加到"BuildConfig.groovy"中.您可以指定在编译时,运行时等是否需要它.例如:
dependencies {
build 'org.apache.httpcomponents:httpcore:4.1.2'
build 'org.apache.httpcomponents:httpclient:4.1.2'
runtime 'org.apache.httpcomponents:httpcore:4.1.2'
runtime 'org.apache.httpcomponents:httpclient:4.1.2'
}
Run Code Online (Sandbox Code Playgroud)
请注意,您可能还需要取消注释Buildconfig.groovy中的mavenCentral()行,以便解决依赖关系.
请参阅此处的 "依赖性解决方案"部分.
| 归档时间: |
|
| 查看次数: |
12959 次 |
| 最近记录: |