发布自己的jar到Maven Repository公服上

作者 : 开心源码 本文共3852个字,预计阅读时间需要10分钟 发布时间: 2022-05-11 共84人阅读

Maven

前段时间自己写了一个简易的Java版爬虫框架。假如想把这个框架完善还是需要大家的力量,假如每次用都要从Gihub上下载源码岂不是很麻烦?由于自己的项目使用的是maven来管理jar包,那么就试试把这个爬虫框架放到公服仓库上去吧!

注册Sonatype账号

用过Jira的使用户就很熟习了,事务与项目跟踪软件。注册好之后也能使用这个账号登陆maven公服仓库https://oss.sonatype.org/

注意:Username 肯定不要是中文,肯定要是英文!!!

创立一个Jira

Project: Open Source Project Repository Hosting (OSSRH)

Issue Type: New Project

下面是我项目的配置

WX20180708-221640@2x.png
注意Group Id 要和项目中pom配置的一样,肯定要是域名的反写,这里推荐用github的域名(假如自己没有长期维护的域名),自己的域名可可以会过期github可是不可以随随意便的过期吧~

Project URL 就是你项目再Github上的地址;

SCM url 就是项目clone地址

ok,创立好之后就等待老外回复吧。由于有时差,所以一般他们晚上十点钟以后才可以去审查,所以第一次配置的的时候肯定要精确,不然改一次要等一天哦~~~

正确的审核反馈如下:

WX20180708-222208@2x.png

修改项目Pom

这个也是比较重要的
肯定要有以下结构

<description>A Simple Java Crawler Framework</description><licenses>    <license>        <name>The Apache Software License, Version 2.0</name>        <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>    </license></licenses><developers>    <developer>        <name>wangxc</name>        <email>vector4wang@qq.com</email>    </developer></developers><scm>    <connection>        scm:git: vector4wang/vw-crawler.git    </connection>    <developerConnection>        scm:git: vector4wang/vw-crawler.git    </developerConnection>    <url> vector4wang/vw-crawler</url></scm>

这是Nexus Rules规定的,不然会出错!

而后就是构建插件与配置

<distributionManagement>    <snapshotRepository>        <id>ossrh</id>        <url>https://oss.sonatype.org/content/repositories/snapshots/</url>    </snapshotRepository>    <repository>        <id>ossrh</id>        <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>    </repository></distributionManagement><build>    <plugins>        <plugin>            <groupId>org.sonatype.plugins</groupId>            <artifactId>nexus-staging-maven-plugin</artifactId>            <version>1.6.7</version>            <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-source-plugin</artifactId>            <version>2.2.1</version>            <executions>                <execution>                    <id>attach-sources</id>                    <goals>                        <goal>jar-no-fork</goal>                    </goals>                </execution>            </executions>        </plugin>        <!-- java doc -->        <plugin>            <groupId>org.apache.maven.plugins</groupId>            <artifactId>maven-javadoc-plugin</artifactId>            <version>2.9.1</version>            <executions>                <execution>                    <id>attach-javadocs</id>                    <goals>                        <goal>jar</goal>                    </goals>                </execution>            </executions>        </plugin>        <!-- GPG -->        <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>            <artifactId>maven-compiler-plugin</artifactId>            <version>3.5.1</version>            <configuration>                <source>${java.version}</source>                <target>${java.version}</target>            </configuration>        </plugin>    </plugins></build>

distributionManagement中对应MavenHome中的setting的文件配置,如下

<servers>    <server>      <id>ossrh</id>      <username>UserName</username>      <password>Password</password>    </server></servers>

使用户名和密码就是你注册sonatype时的使用户名和密码,id要对应pom里的id

nexus-staging-maven-plugin 这个插件是在成功发布到公服上的时候不需要手动去改变status(close,有的文章详情说要手动关闭)

maven-javadoc-plugin 这个也比较重要,生成javadoc,要求代码里假如要用注释,就要按照规范去注释,这个大家能查找相关内容理解下,你也能在deploy的时候按照提醒去修改代码

maven-gpg-plugin 这个是使用来生成私钥,下面会使用到

ps:我的电脑是mac,在打包的时候报错,说找不到java home,在properti中加上下面配置就行了

<javadocExecutable>${java.home}/../bin/javadoc</javadocExecutable>

安装gpg

windows使用户在gpg4win这里下载,mac能下载GPG_suite
由于都是图形界面,所以直接创立新的秘钥
需要输入使用户名、邮箱和密码,肯定要记住这个密码

之后需要把此秘钥发布到公钥服务器上(由于是图形工具,很简单,假如是命令行,还请在网上找一下)

发布

一切配置好之后,能用mvn clean deploy看一下结果,假如想发布release版本的需要把version中的snapshot去掉就可~

发布的时候提醒你输入密码,这个密码就是上一节中你输入的密码!

之后即可以在仓库中找到自己发布的jar包了,发布release之后,要回到jira上接着评论告知已经发布,能关闭掉这个jira了!!!

后记

最大的问题就是时差问题,由于你遇到的问题可可以需要老外那边协助,比方重置少量权限或者者其余稀奇古怪的问题,这样一等就是一天。所以要准备十点以后,一旦jira有回复,立马去修改去尝试,而后再告知老外,那是老外可可以会立即做出回应,就不需要等一天了~~~

另外后面会把爬虫框架vw-crawler的用说明补充出来,希望大家可以多多捧场~~~

CSDN:http://blog.csdn.net/qqhjqs?viewmode=list

博客:http://blog.wangxc.club/

简书:https://www.songma.com/u/223a1314e818

Github: vector4wang

Gitee:https://gitee.com/backwxc

假如感觉有帮助的话,点个赞哦~

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 发布自己的jar到Maven Repository公服上

发表回复