我有一个多项目 gradle 构建。其中一个名为 project2 的子项目使用了 war 插件。我希望这个子项目同时生成战争和 jar,但我只会将 jar 文件上传到 maven 工件。我在父 build.gradle 文件中执行了以下操作:
//project2 has REST API and produces a war
def uploadables = [project(':project1'), project(':project2')]
configure(uploadables) {
apply plugin: 'maven'
uploadArchives {
repositories.mavenDeployer {
repository(id: 'repoid', url: 'http://myartifactory') {
authentication(userName: 'mavenuser', password: 'secret')
}
}
}
}
这正确地产生了一个 project1 jar 和一个 project2 战争并上传了 project1 jar。但是,这也会上传 project2 战争,这是我不想要的。我知道我可以通过将 jar 任务添加到 gradle 命令行来让 gradle 为 project2 生成一个 jar,但是我如何告诉 gradle 将 project2 jar 上传到工件。