如何将Java JAR文件添加到Grails项目?

时间:2012-06-26 20:22:34

标签: java grails maven jar dependencies

我想在Grails 2.0.4项目中使用一些Java / Maven项目。我尝试了各种方法,例如:

  1. 在我的本地maven存储库中安装JAR文件,并执行grails install-dependency com.foo:my-project:0.0.1-SNAPSHOT
  2. 将JAR文件复制到grails的lib文件夹中。
  3. compile com.foo:my-project:0.0.1-SNAPSHOT添加到BuildConfig.groovy
  4. 的依赖项部分
  5. 取消注释mavenLocal()并传递/home/me/.m2/repository
  6. 我可能尝试过其他一些事情,例如在方便的时候迷信地投掷grails clean。在每种情况下grails compile都会产生以下结果:编译失败,无法解析对任何一个JAR中任何类的每个引用。

    知道我缺少什么吗?

4 个答案:

答案 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。