釋出自己的jar到Maven Repository公服上
前段時間自己寫了一個簡易的Java版爬蟲框架。如果想把這個框架完善還是需要大家的力量,如果每次使用都要從Gihub上下載原始碼豈不是很麻煩?因為自己的專案用的是maven來管理jar包,那麼就試試把這個爬蟲框架放到公服倉庫上去吧!
註冊Sonatype賬號
使用過Jira的使用者就很熟悉了,事務與專案跟蹤軟體。註冊好之後也可以用這個賬號登陸maven公服倉庫https://oss.sonatype.org/
注意:Username 一定不要是中文,一定要是英文!!!
建立一個Jira
Project: Open Source Project Repository Hosting (OSSRH)
Issue Type: New Project
下面是我專案的配置
注意Group Id 要和專案中pom配置的一樣,一定要是域名的反寫,這裡推薦使用github的域名(如果自己沒有長期維護的域名),自己的域名可能會過期github可是不能隨隨便便的過期吧~
Project URL 就是你專案再Github上的地址;
SCM url 就是專案clone地址
ok,建立好之後就等待老外回覆吧。因為有時差,所以一般他們晚上十點鐘以後才能去審查,所以第一次配置的的時候一定要準確,不然改一次要等一天哦~~~
正確的稽核反饋如下:
修改專案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:https://github.com/vector4wang/vw-crawler.git
</connection>
<developerConnection>
scm:git:https://github.com/vector4wang/vw-crawler.git
</developerConnection>
<url>https://github.com/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
簡書:https://www.jianshu.com/u/223a1314e818
Github:https://github.com/vector4wang
Gitee:https://gitee.com/backwxc
如果感覺有幫助的話,點個贊哦~
相關文章
- 釋出jar包到maven中央倉庫JARMaven
- Maven 教程之釋出 jar 到私服或中央倉庫MavenJAR
- 使用CI/CD工具Github Action釋出jar到Maven中央倉庫GithubJARMaven
- 如何釋出本地maven專案jar包部署到nexus私服?MavenJAR
- maven jar 釋出出錯MavenJAR
- maven引入本地jar,部署到伺服器上找不到MavenJAR伺服器
- 新增jar包到本地Maven倉庫JARMaven
- 配置maven連線nexus並使用MyEclipse釋出jar包MavenEclipseJAR
- maven安裝jar包到本地倉庫MavenJAR
- 利用Gradle釋出專案到JCenter、MavenGradleMaven
- 釋出構件到 Maven 中央倉庫遇到的坑Maven
- eclipse 手動新增jar包到maven庫EclipseJARMaven
- Maven deploy部署jar包到遠端私倉MavenJAR
- 如何將JAR包釋出到Maven中央倉庫?JARMaven
- 緊急求助,釋出jar到tomcat中不成功JARTomcat
- Gradle實戰:釋出aar包到maven倉庫GradleMaven
- 本地Maven引用其他Jar包,非雲上。Nenux私服。MavenJARUX
- Maven推送本地jar包到遠端私有倉庫配置MavenJAR
- 上傳自己的庫到jcenter
- java打jar包的maven方式JavaJARMaven
- 使用CDH4 Maven RepositoryMaven
- How to build a jar file by mavenUIJARMaven
- Maven引入本地jar包MavenJAR
- 釋出自己的pods到CocoaPods
- 用命令將本地jar包匯入到本地maven倉庫JARMaven
- 阿里雲應用高可用服務公測釋出阿里
- maven - 引用本地jar,進行jar包移動MavenJAR
- Maven Release釋出指南---Git版MavenGit
- Maven專案打jar包MavenJAR
- maven 工程匯入jar包MavenJAR
- 將自己的開源專案釋出到 Maven 中央倉庫Maven
- 怎麼上傳自己的程式碼/專案到自己的github倉庫上Github
- Maven: 'org.apache.maven.artifact.repository.ArtifactRepository' cannot be instantiatedMavenApache
- Maven解決repository不更換的問題Maven
- 詳解從 0 釋出 react 元件到 npm 上React元件NPM
- 如何使用maven生成可以執行的jar?MavenJAR
- 如何將自己的本地專案上傳到github上?Github
- 我把自己的java庫釋出到了maven中央倉庫,從此可以像Jackson、Spring的jar一樣使用它了JavaMavenSpringJAR