后续第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 (所有文件也有md5sha1版本)
  • 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的下一步是什么呢?

  1. 识别jar文件
  2. 签下他们(并提示我使用我的公钥密码,对吗?),和
  3. 把他们推到Maven?

下面是我更新的settings.xmlpom.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