无法解析类org.apache.commons.lang3.StringUtils grails

无法解析类org.apache.commons.lang3.StringUtils grails,grails,dependency-management,Grails,Dependency Management,我正在使用Eclipse在grails 2.2.1版中开发一个应用程序,问题是,当我运行该应用程序时,我会收到下一条消息: unable to resolve class org.apache.commons.lang3.StringUtils 我将公共lang jar添加到我的项目中,并作为一个依赖项,但我遇到了同样的问题。 我能做什么 您不应该在lib目录中使用jar文件,除非它们在Maven repo中不可用。如果它是您公司的共享代码或其他不公开的代码,那么您可以,但如果可能,请尝试使

我正在使用Eclipse在grails 2.2.1版中开发一个应用程序,问题是,当我运行该应用程序时,我会收到下一条消息:

 unable to resolve class org.apache.commons.lang3.StringUtils
我将公共lang jar添加到我的项目中,并作为一个依赖项,但我遇到了同样的问题。
我能做什么

您不应该在lib目录中使用jar文件,除非它们在Maven repo中不可用。如果它是您公司的共享代码或其他不公开的代码,那么您可以,但如果可能,请尝试使用BuildConfig.groovy依赖项

在这种情况下,jar在Maven Central中可用,因此这应该在BuildConfig.groovy中的
依赖项部分起作用:

compile 'org.apache.commons:commons-lang3:3.1'

在极少数需要在lib目录中使用jar文件的情况下,运行
grails compile--refresh dependencies
将其添加到类路径中。较新版本的Grails不会自动将lib目录jar添加到类路径。

如果Burt的答案不适用于您,请确保您的BuildConfig中的顺序如下:

repositories {
    grailsHome()
    mavenLocal()
    mavenRepo "http://repo1.maven.org/maven2/"
    grailsPlugins()
    grailsCentral()
    mavenCentral()
}

右键单击您的项目->构建路径->配置构建路径->添加外部JAR有帮助。

您是否添加了正确版本的commons lang库(3.0或更高版本)?请注意,StringUtils类自3.0版本以来位于不同的包中。您还可以在Eclipse中按[ctrl]+[t]并键入StringUtils以检查Eclipse是否在项目依赖项中看到此类。您是如何添加依赖项的?你把罐子放在
lib
文件夹里了吗?您是否在
BuildConfig.groovy
中添加了依赖项?此库有两个版本:lang和lang3。你能指定下载jar的位置吗?一个大问题是,这些家伙提交的版本没有lib文件夹,所以我在WEB-INF文件夹中创建了它。我从apache下载了jar,是从这个url下载的3.1版本:别忘了先运行GrailsClean,然后运行GrailsCompile——刷新依赖项!!!