我正在使用maven-publish插件将工件发布到nexus存储库。我不想将我的nexus存储库的实际凭据放入build.gradle文件中。所以我决定使用如下所示的项目属性
credentials {
username "$nexus_username"
password "$nexus_password"
}
Run Code Online (Sandbox Code Playgroud)
现在,我可以使用gradle publish -Pnexus_username=<myusername> -Pnexus_password=<mypass>将工件发布到我的关系库中。但是,继续传递此项目属性以进行常规gradle构建没有任何意义。如果我不通过gradle,则会抛出错误,表示Could not find property 'nexus_username'有人知道解决此问题的更好方法。
经过一番挖掘找到了解决方案
if(! hasProperty("nexus_username")){
ext.nexus_username=""
}
if(! hasProperty("nexus_password")){
ext.nexus_password=""
}
Run Code Online (Sandbox Code Playgroud)
如果项目属性不可用,我在这里正在创建空白的用户名和密码。但是我仍然觉得这是一个解决方法,而不是正确的解决方案。如果有人找到更优雅的解决方案,请回复。
| 归档时间: |
|
| 查看次数: |
951 次 |
| 最近记录: |