将 Gradle 模块和 Grails 模块捆绑在一起的最佳方式



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

Web模块是一个Grails应用程序,客户端模块大多只是时髦的代码和Java代码。 客户端模块由 Gradle 构建脚本管理。

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

这是我最终做的事情。

在我的 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中。

相关内容

最新更新