【发布时间】:2019-09-20 17:23:33
【问题描述】:
我有两个 Maven 存储库,一个是本地的,一个是外部的。
在我的本地存储库中,我将发布快照和版本。 在外部存储库中,我将只发布版本。
我在 build.gradle 中用于发布的当前代码:
publishing {
...
repositories {
maven { // Local Nexus Repository
...
def releaseRepoUrl = "...//repository/maven-releases/"
def snapshotsRepoUrl = "...//repository/maven-snapshots/"
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releaseRepoUrl
}
maven { // external Nexus Repository (only publish if it is a release)
...
def releaseRepoUrl = "...//repository/maven-releases/"
url = version.endsWith('SNAPSHOT') ? "" : releaseRepoUrl
}
}
}
问题是,如果 url 是“”,则会发生错误,这是合乎逻辑的,因为他无法发布到该 url。
如果是 SNAPSHOT,我如何跳过在外部存储库上的发布?
【问题讨论】:
-
你能把第二个maven块包裹在
if (!version.endsWith('SNAPSHOT')) {中 -
@tim_yates 谢谢,它有效!这么简单的解决方案:)
-
很高兴为您提供帮助!将其发布为答案,因此希望将来可以对其他人有所帮助:-)