我们有一个包含 2 个模块的项目;网络和客户端
Web 模块是一个 Grails 应用程序,而客户端模块大多只是 groovy 代码和一些 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'
}
Now Grails sees the dependency and includes in the classpath as well as places the JAR in the WAR for me.