将Gradle模块和Grails模块结合在一起的最佳方式

时间:2012-04-18 21:41:58

标签: grails gradle

我们有一个包含2个模块的项目;网络和客户

Web模块是Grails应用程序,客户端模块主要是常规代码和Java代码。客户端模块由Gradle构建脚本管理。

Grails模块在客户端模块中具有依赖关系。在IntelliJ中,我可以在模块配置中定义它没有问题。但是,在构建Grails WAR时,我确实需要构建客户端JAR并将其放在WAR文件中。我想知道最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

这是我最终做的事情。

在我的Gradle脚本中,我有以下内容:

repositories {
  mavenCentral()
  flatDir {
    name "genRocketRepos"
    dirs "${System.properties['user.home']}/.genRocket/repos"
  }
}

uploadArchives {
  repositories {
    add project.repositories.genRocketRepos
  }
}

然后我通过Gradle运行uploadArchives任务。这将JAR文件发布到本地存储库。在Grails BuildConfig.groovy中,我定义了以下内容:

repositories {
  ...
  flatDir name:'myRepo', dirs:'${userHome}/.genRocket/repo'
}

dependencies {
  ...
  runtime 'genRocket:client:1.0'
}

现在Grails看到依赖项并包含在类路径中,并将JAR放在WAR中。