后续第2部分 – 使用Maven仅签名和部署jar到Maven Central。 构建和编译完全由Ant完成
这是一个跟进: 后续问题:使用Maven仅签名和部署jar到Maven Central。 构建和编译完全由Ant完成
感谢前面问题的答案,以及来自sonatype支持人员的一些建议,我刚刚第一次“非失败”。 这是mvn deploy
的当前输出:
[INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building XBN-Java 0.1.2-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ xbnjava --- [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ xbnjava --- [INFO] Installing R:\jeffy\programming\sandbox\xbnjava\pom.xml to C:\Users\jeffy\.m2\repository\com\github\aliteralmind\xbnjava\0.1.2-SNAPSHOT\xbnjava-0.1.2-SNAPSHOT.pom [INFO] [INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ xbnjava --- Downloading: https://oss.sonatype.org/content/repositories/snapshots/com/github/aliteralmind/xbnjava/0.1.2-SNAPSHOT/maven-metadata.xml 607/607 B Downloaded: https://oss.sonatype.org/content/repositories/snapshots/com/github/aliteralmind/xbnjava/0.1.2-SNAPSHOT/maven-metadata.xml (607 B at 0.5 KB/sec) Uploading: https://oss.sonatype.org/content/repositories/snapshots/com/github/aliteralmind/xbnjava/0.1.2-SNAPSHOT/xbnjava-0.1.2-20140717.010135-5.pom 2/4 KB 4/4 KB Uploaded: https://oss.sonatype.org/content/repositories/snapshots/com/github/aliteralmind/xbnjava/0.1.2-SNAPSHOT/xbnjava-0.1.2-20140717.010135-5.pom (4 KB at 11.9 KB/sec) Downloading: https://oss.sonatype.org/content/repositories/snapshots/com/github/aliteralmind/xbnjava/maven-metadata.xml 290/290 B Downloaded: https://oss.sonatype.org/content/repositories/snapshots/com/github/aliteralmind/xbnjava/maven-metadata.xml (290 B at 1.5 KB/sec) Uploading: https://oss.sonatype.org/content/repositories/snapshots/com/github/aliteralmind/xbnjava/0.1.2-SNAPSHOT/maven-metadata.xml 607/607 B Uploaded: https://oss.sonatype.org/content/repositories/snapshots/com/github/aliteralmind/xbnjava/0.1.2-SNAPSHOT/maven-metadata.xml (607 B at 2.5 KB/sec) Uploading: https://oss.sonatype.org/content/repositories/snapshots/com/github/aliteralmind/xbnjava/maven-metadata.xml 290/290 B Uploaded: https://oss.sonatype.org/content/repositories/snapshots/com/github/aliteralmind/xbnjava/maven-metadata.xml (290 B at 1.0 KB/sec) [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4.579 s [INFO] Finished at: 2014-07-16T21:01:36-04:00 [INFO] Final Memory: 7M/19M [INFO] ------------------------------------------------------------------------
根据此日志,上传了以下文件
https://oss.sonatype.org/content/repositories/snapshots/com/github/aliteralmind/xbnjava
-
maven-metadata.xml
-
0.1.2-SNAPSHOT/maven-metadata.xml
-
0.1.2-SNAPSHOT/xbnjava-0.1.2-20140717.010135-5.pom
当我在浏览器中查看该目录时,我看到以下文件:
-
maven-metadata.xml
(所有文件也有md5
和sha1
版本) -
0.1.2-SNAPSHOT/maven-metadata.xml
-
0.1.2-SNAPSHOT/xbnjava-0.1.2-20140716.174151-1.pom
所以,我不明白为什么日志说发送20140717
文件,但服务器实际上包含20140716
版本。 但是有一个更大的问题,因为目标是拥有
-
xbnjava-0.1.2.jar
-
xbnjava-0.1.2-sources.jar
-
xbnjava-0.1.2-javadoc.jar
在服务器上(以及他们的*.asc
随*.asc
),但没有一个。
在POM中,我有这个属性
../build/${project.artifactId}-${project.version}/download/${project.artifactId}-${project.version}
和这个plugins
块(它是profiles
部分的一个子集),它包含三个工件,每个工件都明确指向这三个jar文件中的一个
org.codehaus.mojo build-helper-maven-plugin 1.8 attach-artifacts package attach-artifact ${jarprefix}.jar jar ${jarprefix}-javadoc.jar jar javadoc ${jarprefix}-sources.jar jar sources
(POM是
R:\jeffy\programming\sandbox\xbnjava\pom.xml
jar子里面
R:\jeffy\programming\build\xbnjava-0.1.1\download
)
那么获得POM的下一步是什么呢?
- 识别jar文件
- 签下他们(并提示我使用我的公钥密码,对吗?),和
- 把他们推到Maven?
下面是我更新的settings.xml
和pom.xml
。
(sonatype支持人员也建议考虑一个“最小Maven”的想法 ,这完全避免了POM。这是一个有趣的想法,但我想首先看到这一点。)
感谢你们对我的帮助。
设置:
ossrh aliteralmind MY_SONATYPE_DOT_COM_PASSWORD
POM:
4.0.0 com.github.aliteralmind xbnjava pom 0.1.2-SNAPSHOT XBN-Java https://github.com/aliteralmind/xbnjava 2014 Jeff Epstein XBN-Java is a collection of generically-useful backend (server side, non-GUI) programming utilities, featuring RegexReplacer and FilteredLineIterator. XBN-Java is the foundation of Codelet (http://codelet.aliteralmind.com). org.sonatype.oss oss-parent 7 Lesser General Public License (LGPL) version 3.0 https://www.gnu.org/licenses/lgpl-3.0.txt Apache Software License (ASL) version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt Jeff Epstein aliteralmind-github@yahoo.com Lead Developer GitHub Issue Tracker https://github.com/aliteralmind/xbnjava/issues ossrh https://oss.sonatype.org/content/repositories/snapshots scm:git:git@github.com:aliteralmind/xbnjava.git scm:git:git@github.com:aliteralmind/xbnjava.git scm:git:git@github.com:aliteralmind/xbnjava.git 1.7 ../build/${project.artifactId}-${project.version}/download/${project.artifactId}-${project.version} release-sign-artifacts release true org.codehaus.mojo build-helper-maven-plugin 1.8 attach-artifacts package attach-artifact ${jarprefix}.jar jar ${jarprefix}-javadoc.jar jar javadoc ${jarprefix}-sources.jar jar sources
您正在附加release-sign-artifacts
配置文件中的工件,该配置文件可能在您运行’mvn deploy’命令时被禁用。 尝试运行mvn deploy -Drelease=true
或只是将release-sign-artifacts
配置文件移动到主.pom部分。 不确定您是否需要单独的配置文件。
时间戳很好。 这就是Maven存储库存储SNAPSHOT的方式。
Maven有一个陡峭的学习曲线,但一旦你理解了它的基本概念就行了。
这是我所做的改变,正如@ AlexeyGavrilov的回答所示 :
原版的:
release-sign-artifacts release true org.codehaus.mojo build-helper-maven-plugin 1.8 attach-artifacts package attach-artifact ${jarprefix}.jar jar ${jarprefix}-javadoc.jar jar javadoc ${jarprefix}-sources.jar jar sources
新:
org.codehaus.mojo build-helper-maven-plugin 1.8 attach-artifacts package attach-artifact ${jarprefix}.jar jar ${jarprefix}-javadoc.jar jar javadoc ${jarprefix}-sources.jar jar sources release-sign-artifacts release true