构建自己的jar包上传至Mvaen中央仓库和版本更新 (2)

win或者mac安装之后在命令行输入:

#gpg 常用命令 gpg --help #帮助 gpg --version #查看版本 gpg --list-keys #查看已生成的密钥 gpg --delete-key [用户ID] #删除密钥 gpg --gen-key #生成密钥对 #第一步:输入用户名 #第二步:输入邮箱地址 #第三步:输入密码 #之后就生成好了,可以用gpg --list-keys查看已生成的密钥 #上传公钥到服务器 gpg --keyserver hkp://pool.sks-keyservers.net --send-keys ${公钥ID} #将公钥发布到 PGP 密钥服务器 gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys ${公钥ID} #查询公钥是否发布成功 gpg --keyserver hkp://pool.sks-keyservers.net:11371 --send-keys 3C50A16F87687255F1AB96BC7E7CB475C5DF4735 gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys 3C50A16F87687255F1AB96BC7E7CB475C5DF4735 gpg --keyserver hkp://keys.gnupg.net:11371 --send-keys 3C50A16F87687255F1AB96BC7E7CB475C5DF4735 #查看是否上传成功 gpg --keyserver hkp://pool.sks-keyservers.net:11371 --recv-keys ${公钥ID} gpg --keyserver hkp://pool.sks-keyservers.net:11371 --recv-keys 3C50A16F87687255F1AB96BC7E7CB475C5DF4735 gpg --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 3C50A16F87687255F1AB96BC7E7CB475C5DF4735 gpg --keyserver hkp://keys.gnupg.net:11371 --recv-keys 3C50A16F87687255F1AB96BC7E7CB475C5DF4735 #导出密钥对 gpg --armor --output "输出文件名" --export "用户ID" gpg --armor --output C:\Config\gpg\test-public-key.asc --export "用户ID" gpg --armor --output C:\Config\gpg\test-private-key.asc --export-secret-keys #导入密钥 gpg --import test-public-key.asc #导入公钥 gpg --import test-private-key.asc #导入私钥

输入gpg --gen-key生成密钥对

将密钥对公钥上传到服务器

配置Maven

需要修改的 Maven 配置文件包括:setting.xml(全局级别)与 pom.xml(项目级别)

setting.xml(全局级别)

这里的username是你一开始注册sonatype账号的username,而不是注册时填写的邮箱。

<servers> <server> <id>ossrh</id> <username>用户名</username> <password>密码</password> </server> </servers>

使用自己注册的 Sonatype 账号的用户名与密码来配置以上 server 信息。

此处 id ossrh 应和下面 pom.xml 中 snapshotRepository 和 repository 里面的 id 保持一致。

pom.xml(项目级别) 说明 <name>ali-tools</name> <url>https://github.com/452425952/ali-tools</url> <description>Ali Tools project for Spring Boot</description> 证书 <licenses> <license> <name>The Apache Software License, Version 2.0</name> <url></url> <distribution>repo</distribution> </license> </licenses> scm软件配置管理 <scm> <connection>https://github.com/452425952/ali-tools.git</connection> <developerConnection>https://github.com/452425952/ali-tools.git</developerConnection> <url>https://github.com/452425952/ali-tools</url> </scm> 开发者信息 <developers> <developer> <id>sky-0914</id> <name>sky-0914</name> <email>sky-0914@qq.com</email> <roles> <role>Developer</role> </roles> <timezone>+8</timezone> </developer> </developers> 打包配置,由于发布到maven中央仓库会要求我们在上传jar到同时,必须同步发布对应到Javadoc、source、asc(利用gpg生成到校验),所以需要在maven中添加以下构建插件 <build> <plugins> <!-- 打包时跳过测试 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.18.1</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>${java.version}</source> <target>${java.version}</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- 以下都为上传jar默认配置不做修改 --> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.8</version> <!-- autoReleaseAfterClose的值为true,则脚本会自动完成在平台上close、release的操作,至此你将成功发布了 --> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>2.5.3</version> <configuration> <autoVersionSubmodules>true</autoVersionSubmodules> <useReleaseProfile>false</useReleaseProfile> <releaseProfiles>release</releaseProfiles> <goals>deploy</goals> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>1.5</version> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.2.1</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.9</version> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> <!-- JDK8必须使用下面的配置 --> <configuration> <encoding>UTF-8</encoding> <charset>UTF-8</charset> <additionalparam>-Xdoclint:none</additionalparam> </configuration> </execution> </executions> </plugin> </plugins> </build> 上传打包文件配置

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyxsgw.html