我想在Grails 2.0.4项目中使用一些Java / Maven项目。我尝试了各种方法,例如:
grails install-dependency com.foo:my-project:0.0.1-SNAPSHOT
lib
文件夹中。compile com.foo:my-project:0.0.1-SNAPSHOT
添加到BuildConfig.groovy
mavenLocal()
并传递/home/me/.m2/repository
我可能尝试过其他一些事情,例如在方便的时候迷信地投掷grails clean
。在每种情况下grails compile
都会产生以下结果:编译失败,无法解析对任何一个JAR中任何类的每个引用。
知道我缺少什么吗?
答案 0 :(得分:16)
将jar放在lib文件夹中应该可以解决问题。我们目前使用相同的方法没有问题。
答案 1 :(得分:8)
将jar添加到“lib”文件夹对我来说还不够。我不得不跑:
grails compile --refresh-dependencies
在它运作之后。
答案 2 :(得分:6)
如果 Grails 默认情况下不要使用位于<GRAILS-APP-DIR>/lib
的本地 .jar 库(似乎与 Grails 3.X一起使用) 删除了/lib
文件夹默认配置)执行它的简单方法是修改build.gradle
以为其添加本地目录依赖项。
对于几乎所有情况当然最好使用 maven repos,但是可能有一些db-vendor-drivers
或其他库不在公共回购。要对此库执行此操作,请修改<GRAILS-APP-DIR>/build.gradle
并添加如下内容:
dependencies {
...
compile fileTree(dir: './lib', include: ['*.jar'])
...
}
如果您愿意,可以使用其他目录(不是/lib
),因为您正在指定它。当然使用正确的范围(例如db-vendor-drivers
可能已经在您的应用程序容器类路径中,范围将是runtime
而不是compile
)
希望它有所帮助,
答案 3 :(得分:0)
Grails刷新依赖,干净等对我没有用。对我有用的是退出Grails守护进程并再次启动Grails。