我们有一个包含 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中。