ali*_*der 4 gradle build.gradle
我正在使用gradle v3.4并从secrets.properties文件填充属性(传递到project.ext)但是当我在凭证部分使用变量时,我从nexus complianing得到一个关于身份验证问题的错误让我相信字符串插值无法正常工作.我可以在凭证部分之前打印变量值.
的build.gradle
maven {
credentials {
println(project.nexusUsername) //prints the value
username '${project.nexusUsername}'
password '${project.nexusPassword}'
}
if (project.version.endsWith("-SNAPSHOT")) {
url "http://nexus.somewhere.com/repository/some-java-snapshot/"
} else {
url "http://nexus.somewhere.com/repository/some-java-release/"
}
}
Run Code Online (Sandbox Code Playgroud)
更新 我更新了上面的凭据部分以使用双引号(不是单引号),但没有解决问题.单引号是字符串文字 - 如果需要字符串插值,则需要在groovy中使用双引号.
ali*_*der 10
问题是如何在外部属性文件中指定属性.我在属性文件中使用双引号作为字符串值,这导致身份验证失败.一旦我从外部属性文件中删除了双引号,我就能够发布到nexus了.
外部属性文件设置不正确
someUsername="someuser"
Run Code Online (Sandbox Code Playgroud)
更正外部属性文件设置
someUsername=someuser
Run Code Online (Sandbox Code Playgroud)
的build.gradle
publishing {
publications {
shadow(MavenPublication) {
from components.shadow
groupId project.group
artifactId project.artifactId
}
}
repositories {
maven {
credentials {
username project.someUsername
password project.somePassword
}
if (project.version.endsWith("-SNAPSHOT")) {
url project.someSnapshot
} else {
url project.someRelease
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这工作 - 希望这是有效的.
| 归档时间: |
|
| 查看次数: |
4831 次 |
| 最近记录: |