我在build.gradle中有一个maven设置,如下所示。您可以看到我正在使用nexus服务器进行内部包管理。
repositories {
jcenter()
maven {
url 'http://192.168.0.2:8081/nexus/content/groups/public/'
}
}
首先,我无法在云环境中构建此项目,因为此nexus服务器不在云中。
其次,可以从具有域名的云访问此nexus服务器
第三,我无法将此URL更改为域名,因为Jenkins正在运行构建作业。
所以我想知道gradle可以支持在命令行中覆盖这个url值,就像使用-P一样?或者我可以运行另一个gradle任务来完成替换工作?
答案 0 :(得分:0)
如果您知道您的nexus的ip并且可以访问您的构建服务器,我建议您修改etc / hosts文件,而不是添加以下行:
192.168.0.2 name.of.nexus.host
如果您无法通过这种方式解决问题,则可以使用-P。
传递命令行值gradle someTask -PcommandLineProjectProp=commandLineProjectPropValue
它为您提供了在构建中使用的commandLineProjectPropValue。
要在你的url字符串中使用它,你必须使用double qoutes(“”)和$ commandLineProjectPropValue。
所以:
url "$(commandLineProjectPropValue)rest/of/path"