使用 gradle 发布到 Maven 时删除附加到工件名称的默认 date.time
Remove default date.time appending to artifact name when publishing to maven with gradle
我正在使用 gradle 和 maven-publish 插件将工件发布到我们本地的 maven 仓库。
我的 build.gradle
看起来像(片段):
apply plugin: 'java'
apply plugin: 'maven-publish'
publishing {
publications {
mavenJava(MavenPublication) {
groupId 'org.myorg'
artifactId 'myapp'
version '0.0.1-SNAPSHOT'
from components.java
}
}
repositories {
maven {
credentials {
username 'myUsername'
password 'myPassword'
}
url 'https://my.repo/snapshots/'
}
}
}
在 运行 publish
之后输出如下:
$ gradle publish
:generatePomFileForMavenJavaPublication
:processResources UP-TO-DATE
:compileJava UP-TO-DATE
:classes UP-TO-DATE
:jar UP-TO-DATE
:publishMavenJavaPublicationToMavenRepository
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/myapp-0.0.1-20161122.144856-2.jar
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/myapp-0.0.1-20161122.144856-2.jar.sha1
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/myapp-0.0.1-20161122.144856-2.jar.md5
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/myapp-0.0.1-20161122.144856-2.pom
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/myapp-0.0.1-20161122.144856-2.pom.sha1
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/myapp-0.0.1-20161122.144856-2.pom.md5
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/maven-metadata.xml
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/maven-metadata.xml.sha1
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/maven-metadata.xml.md5
Upload https://my.repo/snapshots/org/myorg/myapp/maven-metadata.xml
Upload https://my.repo/snapshots/org/myorg/myapp/maven-metadata.xml.sha1
Upload https://my.repo/snapshots/org/myorg/myapp/maven-metadata.xml.md5
:publish
BUILD SUCCESSFUL
Total time: 8.147 secs
文件和一切都存在 "is fine"。并不真地。 pom
等文件附加了 date.time
。有没有办法不附加它们?
我遇到的问题是,当我尝试使用 sbt
向这个新库添加依赖项时,由于附加的日期和时间,它无法获取它。
谢谢!
这是预期的行为。当您发布快照时,maven 将在后台重命名该文件,以便始终可以通过 -SNAPSHOT
引用最新的
如果您尝试发布您的 jar,那么只需删除 -SNAPSHOT
,您将看到它以 "$project.name-$project.version"
原样上传。
另一方面,如果您想将 jar 引用为快照,则只需确保已将快照存储库添加到 gradle
repositories {
jcenter()
url 'https://my.repo/snapshots/'
}
dependencies {
compile "some.thing:blah:1.0-SNAPSHOT"
}
我正在使用 gradle 和 maven-publish 插件将工件发布到我们本地的 maven 仓库。
我的 build.gradle
看起来像(片段):
apply plugin: 'java'
apply plugin: 'maven-publish'
publishing {
publications {
mavenJava(MavenPublication) {
groupId 'org.myorg'
artifactId 'myapp'
version '0.0.1-SNAPSHOT'
from components.java
}
}
repositories {
maven {
credentials {
username 'myUsername'
password 'myPassword'
}
url 'https://my.repo/snapshots/'
}
}
}
在 运行 publish
之后输出如下:
$ gradle publish
:generatePomFileForMavenJavaPublication
:processResources UP-TO-DATE
:compileJava UP-TO-DATE
:classes UP-TO-DATE
:jar UP-TO-DATE
:publishMavenJavaPublicationToMavenRepository
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/myapp-0.0.1-20161122.144856-2.jar
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/myapp-0.0.1-20161122.144856-2.jar.sha1
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/myapp-0.0.1-20161122.144856-2.jar.md5
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/myapp-0.0.1-20161122.144856-2.pom
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/myapp-0.0.1-20161122.144856-2.pom.sha1
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/myapp-0.0.1-20161122.144856-2.pom.md5
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/maven-metadata.xml
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/maven-metadata.xml.sha1
Upload https://my.repo/snapshots/org/myorg/myapp/0.0.1-SNAPSHOT/maven-metadata.xml.md5
Upload https://my.repo/snapshots/org/myorg/myapp/maven-metadata.xml
Upload https://my.repo/snapshots/org/myorg/myapp/maven-metadata.xml.sha1
Upload https://my.repo/snapshots/org/myorg/myapp/maven-metadata.xml.md5
:publish
BUILD SUCCESSFUL
Total time: 8.147 secs
文件和一切都存在 "is fine"。并不真地。 pom
等文件附加了 date.time
。有没有办法不附加它们?
我遇到的问题是,当我尝试使用 sbt
向这个新库添加依赖项时,由于附加的日期和时间,它无法获取它。
谢谢!
这是预期的行为。当您发布快照时,maven 将在后台重命名该文件,以便始终可以通过 -SNAPSHOT
如果您尝试发布您的 jar,那么只需删除 -SNAPSHOT
,您将看到它以 "$project.name-$project.version"
原样上传。
另一方面,如果您想将 jar 引用为快照,则只需确保已将快照存储库添加到 gradle
repositories {
jcenter()
url 'https://my.repo/snapshots/'
}
dependencies {
compile "some.thing:blah:1.0-SNAPSHOT"
}