后续部分2 –使用Maven仅将jar签名并部署到Maven Central。构建和编译完全由Ant完成

【字号: 日期:2024-02-27浏览:48作者:雯心
如何解决后续部分2 –使用Maven仅将jar签名并部署到Maven Central。构建和编译完全由Ant完成?

您将工件附加到release-sign-artifacts配置文件中,该配置文件在您运行“ mvn deploy”命令时可能已被禁用。尝试运行mvndeploy -Drelease=true或仅将release-sign-artifacts配置文件移动到主.pom部分。不确定完全不需要单独的配置文件。

时间戳很好。这就是Maven存储库存储SNAPSHOT的方式。

Maven的学习曲线很陡峭,但是一旦您了解了基本概念,它就会起作用。

解决方法

这是以下 问题的后续措施: 后续问题:使用Maven仅将jar签名并部署到Maven Central。构建和编译完全由Ant完成

多亏了对先前问题的回答,以及声纳支持人员的一些建议,我才有了我的第一个“永无止境”。这是当前的输出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:jeffyprogrammingsandboxxbnjavapom.xml to C:Usersjeffy.m2repositorycomgithubaliteralmindxbnjava0.1.2-SNAPSHOTxbnjava-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.xml607/607 BDownloaded: 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.pom2/4 KB4/4 KBUploaded: 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.xml290/290 BDownloaded: 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.xml607/607 BUploaded: 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.xml290/290 BUploaded: 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.xml0.1.2-SNAPSHOT/maven-metadata.xml0.1.2-SNAPSHOT/xbnjava-0.1.2-20140717.010135-5.pom

在浏览器中实际查看该目录时,我看到以下文件:

maven-metadata.xml(所有文件也都有md5和sha1版本)0.1.2-SNAPSHOT/maven-metadata.xml0.1.2-SNAPSHOT/xbnjava-0.1.2-20140716.174151-1.pom

因此,我不明白为什么日志显示20140717文件已发送,但服务器实际上包含20140716版本。但是还有一个更大的问题,因为目标是

xbnjava-0.1.2.jarxbnjava-0.1.2-sources.jarxbnjava-0.1.2-javadoc.jar

在服务器上(以及他们的*.asc同伴),但都不是。

在POM中,我具有此属性

<properties> <jarprefix>../build/${project.artifactId}-${project.version}/download/${project.artifactId}-${project.version}</jarprefix></properties>

该plugins块(是该profiles部分的子集)包含三个工件,每个工件明确指向这三个jar文件之一

<plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.8</version> <executions> <execution> <id>attach-artifacts</id> <phase>package</phase> <goals> <goal>attach-artifact</goal> </goals> <configuration> <artifacts> <artifact> <file>${jarprefix}.jar</file> <type>jar</type> </artifact> <artifact> <file>${jarprefix}-javadoc.jar</file> <type>jar</type> <classifier>javadoc</classifier> </artifact> <artifact> <file>${jarprefix}-sources.jar</file> <type>jar</type> <classifier>sources</classifier> </artifact> </artifacts> </configuration> </execution> </executions> </plugin></plugins>

(POM是

R:jeffyprogrammingsandboxxbnjavapom.xml

罐子在里面

R:jeffyprogrammingbuildxbnjava-0.1.1download

那么,使POM成为下一步的下一步是什么?

识别jar文件给他们签名(并提示我输入我的公共密钥密码,对吗?),然后推他们到Maven?

以下是我的更新settings.xml和pom.xml。

(声音类型支持人员还建议考虑“最小Maven”想法,该想法完全避免了POM。这是一个有趣的想法,但我想首先了解一下。)

感谢你们对我的帮助。

设定:

<?xml version='1.0' encoding='UTF-8'?><settings xmlns='http://maven.apache.org/SETTINGS/1.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd'> <servers> <server> <id>ossrh</id> <username>aliteralmind</username> <password>MY_SONATYPE_DOT_COM_PASSWORD</password> </server> </servers> <pluginGroups></pluginGroups> <proxies></proxies> <mirrors></mirrors> <profiles></profiles></settings>

POM:

<project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd'> <modelVersion>4.0.0</modelVersion> <groupId>com.github.aliteralmind</groupId> <artifactId>xbnjava</artifactId> <packaging>pom</packaging> <version>0.1.2-SNAPSHOT</version> <name>XBN-Java</name> <url>https://github.com/aliteralmind/xbnjava</url> <inceptionYear>2014</inceptionYear> <organization> <name>Jeff Epstein</name> </organization> <description>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).</description> <parent> <groupId>org.sonatype.oss</groupId> <artifactId>oss-parent</artifactId> <version>7</version> </parent> <licenses> <license> <name>Lesser General Public License (LGPL) version 3.0</name> <url>https://www.gnu.org/licenses/lgpl-3.0.txt</url> </license> <license> <name>Apache Software License (ASL) version 2.0</name> <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> </license> </licenses> <developers> <developer> <name>Jeff Epstein</name> <email>aliteralmind-github@yahoo.com</email> <roles> <role>Lead Developer</role> </roles> </developer> </developers> <issueManagement> <system>GitHub Issue Tracker</system> <url>https://github.com/aliteralmind/xbnjava/issues</url> </issueManagement> <distributionManagement> <snapshotRepository> <id>ossrh</id> <url>https://oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement> <scm> <connection>scm:git:git@github.com:aliteralmind/xbnjava.git</connection> <url>scm:git:git@github.com:aliteralmind/xbnjava.git</url> <developerConnection>scm:git:git@github.com:aliteralmind/xbnjava.git</developerConnection> </scm> <properties> <java.version>1.7</java.version> <jarprefix>../build/${project.artifactId}-${project.version}/download/${project.artifactId}-${project.version}</jarprefix> </properties> <profiles> <!-- This profile will sign the JAR file,sources file,and javadocs file using the GPG key on the local machine. See: https://docs.sonatype.org/display/Repository/How+To+Generate+PGP+Signatures+With+Maven --> <profile> <id>release-sign-artifacts</id> <activation> <property> <name>release</name> <value>true</value> </property> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.8</version> <executions> <execution><id>attach-artifacts</id><phase>package</phase><goals> <goal>attach-artifact</goal></goals><configuration> <artifacts> <artifact> <file>${jarprefix}.jar</file> <type>jar</type> </artifact> <artifact> <file>${jarprefix}-javadoc.jar</file> <type>jar</type> <classifier>javadoc</classifier> </artifact> <artifact> <file>${jarprefix}-sources.jar</file> <type>jar</type> <classifier>sources</classifier> </artifact> </artifacts></configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles></project>

相关文章: