未找到lib目录中的Grails JAR文件

Ste*_*Kuo 5 java grails jar

我有一个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)

Ste*_*Kuo 13

很奇怪,我跑了grails clean然后grails run-app编译并运行良好.


Ian*_*rts 6

当您添加或删除jar文件时,lib您需要运行

grails compile --refresh-dependencies
Run Code Online (Sandbox Code Playgroud)

为了让Grails注意到这些变化.


Man*_*ish 5

添加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()行,以便解决依赖关系.

请参阅此处的 "依赖性解决方案"部分.