目錄
* 項目準(zhǔn)備 <https://www.cnblogs.com/zhangxinhua/p/11349745.html#項目準(zhǔn)備>
* sonatype <https://www.cnblogs.com/zhangxinhua/p/11349745.html#sonatype>
* 注冊 <https://www.cnblogs.com/zhangxinhua/p/11349745.html#注冊>
* 申請sonatype工單
<https://www.cnblogs.com/zhangxinhua/p/11349745.html#申請sonatype工單>
* gpg配置 <https://www.cnblogs.com/zhangxinhua/p/11349745.html#gpg配置>
* 項目配置 <https://www.cnblogs.com/zhangxinhua/p/11349745.html#項目配置>
* 依賴oss-parent
<https://www.cnblogs.com/zhangxinhua/p/11349745.html#依賴oss-parent>
* 自定義配置 <https://www.cnblogs.com/zhangxinhua/p/11349745.html#自定義配置>
* pom配置 <https://www.cnblogs.com/zhangxinhua/p/11349745.html#pom配置>
* 全局settings配置
<https://www.cnblogs.com/zhangxinhua/p/11349745.html#全局settings配置>
* 發(fā)布 <https://www.cnblogs.com/zhangxinhua/p/11349745.html#發(fā)布>
* 驗證 <https://www.cnblogs.com/zhangxinhua/p/11349745.html#驗證>
maven 項目對于我們開發(fā)大大減少了我們的開始時間,提高了開發(fā)效率,那么如何開發(fā)出屬于自己的一套maven項目了。今天來看看如何上傳maven項目到中央倉庫
項目準(zhǔn)備
*
首先我們得創(chuàng)建一個maven項目;當(dāng)然這里只是為了而是發(fā)布maven項目。沒有maven的新建一個就行。有了自己maven項目,在這里就可以直接拿maven項目做測試。
。至于項目的配置方面后面再說
sonatype
*
Sonatype是一個通過Nexus對開源項目提供托管服務(wù)的網(wǎng)站。你可以通過它發(fā)布項目的快照(snapshot)或者穩(wěn)定版本(release)到Maven中央倉庫。我們只需要注冊一個Sonatype的賬號,新建一個issue,然后在項目的pom文件中進(jìn)行配置即可。
注冊
*
這里注冊的時候需要注意一下,用戶名最好不要出現(xiàn)中文,這里中文注冊沒問題,但是后面發(fā)布到中央倉庫的時候會有麻煩。所以強烈建議這里用英文注冊用戶名。如果非要用中文注冊也可以,只是在后面創(chuàng)建工單的時候需要注明一下新的username
申請sonatype工單
* 注冊完成后進(jìn)入首頁開始創(chuàng)建。其中我們的groupId有一定的講究。我們得擁有域的所有權(quán)。因為我們知道groupId默認(rèn)是:com/org/cn +
域名 + 公司名 。比如我填寫得是
com.github.zxhTom
,那么sonatype會要求你擁有g(shù)ithub.com的所有權(quán)。因為github是開放性網(wǎng)站。另外zxhTom是我再github上的注冊名。所有g(shù)ithub.com/zxhTom這個地址就是屬于我,所喲這樣寫就會驗證通過。如果你有自己的域名zxhTom.com
。那么你的groupId就是是com.zxhTom.***
* 注冊完成之后系統(tǒng)不會自動跳轉(zhuǎn)到我們新建的工單上。我們可以這樣找到我們的工單
*
到這里我們的工單就申請完成了。如果你的條件和我上面說的一樣。那么1~3小時審核就會通過的?,F(xiàn)在我們就等著審核通過。這段時間我們可以進(jìn)行下面的pgp和其他的配置
我這里審核通過不到10分鐘就通過了
gpg配置
官網(wǎng)下載 <https://www.gpg4win.org/download.html>
本博客原裝版本下載 <http://download.csdn.net/download/u013132051/10233726>
* 安裝最后我們最好也勾選一下安裝gpg2.就在安裝的界面上就可以勾選
* 安裝后我們打開cmd查看安裝是否正常。
*
一切正常后我們開始生成秘鑰。會生成私鑰和公鑰。我們需要將公鑰上傳到pgp官方服務(wù)器上。在2.0之前的版本中生成密鑰的時候需要我們填寫一些信息,我們不用填寫一直回車就行。在Real
Name 、Email
Address、Comment中我們需要填寫我們的個人信息。這三項好像我們的個人介紹一樣。因人而異。最后需要輸入passphrase。相當(dāng)于pgp的使用密碼。這個很重要
*
這些配置好會出現(xiàn)下面的畫面說明配置成功
*
最后我們通過下面的命令將公鑰提交到服務(wù)器 (97F3F174是pub id ,pgp不同版本pub id 長度不一樣。我們不用在意)
gpg2 --keyserver hkp://pool.sks-keyservers.net --send-keys 97F3F174
項目配置
依賴oss-parent
*
個人覺得這種方式不實用,因為我們平時開發(fā)maven不可能全都是那種沒有parent的項目。又因為maven只能單繼承。所以這種方式只能實現(xiàn)功能。但是不實用
點我看詳情 <https://www.iteblog.com/archives/1807.html>
自定義配置
pom配置
* 里面就是一些上傳是的驗證,個人信息自己修改成自己的就行 <build> <plugins> <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId> <version>2.1.2</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.7</version>
<executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal>
</goals> </execution> </executions> </plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId> <version>1.1</version> <executions>
<execution> <id>sign-artifacts</id> <phase>verify</phase> <goals>
<goal>sign</goal> </goals> </execution> </executions> </plugin> </plugins>
</build> <licenses> <license> <name>The Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> </license>
</licenses> <developers> <developer> <name>zxhTom</name>
<email>[email protected]</email> <roles> <role>developer</role> </roles>
<timezone>+8</timezone> </developer> </developers> <scm>
<connection>scm:git:https://github.com/zxhTom/bottom.git</connection>
<developerConnection>scm:git:https://github.com/zxhTom/bottom.git</developerConnection>
<url>https://github.com/zxhTom/bottom</url> <tag>${project.version}</tag>
</scm> <distributionManagement> <snapshotRepository> <id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository> <repository> <id>ossrh</id> <name>Maven Central Staging
Repository</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository> </distributionManagement>
全局settings配置
*
然后我們只需要在maven的全局settings配置文件中配置我們的sonatype賬號和pgp2的passphrase就行了。下面配置的password字段就是我們注冊sonatype網(wǎng)站的密碼。username是我們申請工單的時候填寫的username,如果沒有填寫那么就是我們的用戶名。
<!-- 前兩個如果我們用的是繼承oss-parent需要的。 --> <server> <id>sonatype-nexus-snapshots</id>
<username>zxhTom</username> <password>*****</password> </server> <server>
<id>sonatype-nexus-staging</id> <username>zxhTom</username>
<password>******</password> </server> <!-- 下面這個使我們自定義用到的服務(wù) --> <server>
<id>ossrh</id> <username>zxhTom</username> <password>*****</password> </server>
* 然后在新增一個profile ``` <profile> <id>ossrh</id> <activation>
<activeByDefault>true</activeByDefault> </activation> <properties>
<gpg.executable>gpg2</gpg.executable> <gpg.passphrase>*****</gpg.passphrase>
</properties> </profile> ```
發(fā)布
mven clean deploy
效果
* 這里暫時在myeclipse中打包會出錯。因為無法使用pgp,不知道什么原因。目前只能在cmd中打包。
驗證
點我驗證 <https://oss.sonatype.org/>
進(jìn)入上方網(wǎng)站登錄后進(jìn)行查看我們是否發(fā)布的jar
* 這個時候我們就可以引用maven坐標(biāo)使用了。但是目前在中央倉庫還是無法搜索的。需要等待幾個小時才可以。
熱門工具 換一換