激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - maven中心倉庫OSSRH使用簡介(推薦)

maven中心倉庫OSSRH使用簡介(推薦)

2021-09-03 11:57flydean程序那些事 Java教程

這篇文章主要介紹了maven中心倉庫OSSRH使用簡介,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

簡介

使用java做項(xiàng)目的朋友肯定對maven不陌生,maven為我們提供了一個(gè)中心倉庫,我們在構(gòu)建java項(xiàng)目時(shí),直接從maven中心倉庫中下載依賴的jar包到本地,然后打包進(jìn)行構(gòu)建。

所有人都知道有這樣一個(gè)maven倉庫,但是很少有人去探尋這個(gè)maven倉庫到底在什么地方,能不能發(fā)布自己的jar包到中心倉庫呢?今天給大家介紹一下maven中心倉庫和OSSRH的使用。

為什么使用中心倉庫

maven中心倉庫的地址是 https://search.maven.org/#browse , 我們可以通過該鏈接去查找需要的jar包,而這些jar包都是各個(gè)開源組織發(fā)布上去的。

這個(gè)中心倉庫是Apache Maven, SBT 默認(rèn)的repository。同時(shí)還可以支持 Apache Ant/Ivy, Gradle 等構(gòu)建工具的使用。

現(xiàn)在的軟件界是開源的軟件界,越來越多的人和企業(yè)愿意在網(wǎng)絡(luò)上貢獻(xiàn)自己的代碼,于是有了maven社區(qū)的中心倉庫,可以方便任何人共享和使用jar包。

發(fā)布到中心倉庫前的準(zhǔn)備工作

發(fā)布到中心倉庫是需要權(quán)限的,我們需要注冊我們的項(xiàng)目也就是artifacts id,并且指定需要將項(xiàng)目發(fā)布到哪里。

Sonatype 提供了一個(gè)叫做開源軟件資源庫托管Open Source Software Repository Hosting (OSSRH) 的工具,幫助我們來方便的將項(xiàng)目發(fā)布到中心倉庫中。它是項(xiàng)目所有者和貢獻(xiàn)者將其組件發(fā)布到中央資源庫的主要途徑。

我們需要選擇一個(gè)你所擁有的domain作為groupId,對于GitHub groupId(io.github.username),只要您的項(xiàng)目URL與所請求的groupId匹配,就會立即進(jìn)行驗(yàn)證。

對于其他的域名,可以通過下面兩種方式之一來進(jìn)行域名的驗(yàn)證:

使用TXT文件驗(yàn)證:在域名下創(chuàng)建一個(gè)代表OSSRH ticket number的TXT文件來進(jìn)行驗(yàn)證。GitHub重定向:設(shè)置你的域名到托管項(xiàng)目的GitHub URL的重定向。

使用OSSRH

Sonatype OSSRH(OSS存儲庫托管)使用Sonatype Nexus存儲庫管理器為開源項(xiàng)目二進(jìn)制文件提供存儲庫托管服務(wù)。 OSSRH使用的是Maven存儲庫格式,我們可以部署開發(fā)版本的二進(jìn)制文件snapshots,階段發(fā)布二進(jìn)制文件,還可以升級二進(jìn)制文件并將其同步到中央倉庫中。

使用Sonatype創(chuàng)建ticket

Sonatype使用JIRA來管理創(chuàng)建請求,所以我們需要首先創(chuàng)建一個(gè)JIRA賬號,創(chuàng)建賬號地址: https://issues.sonatype.org/secure/Signup!default.jspa , 然后使用該賬戶創(chuàng)建一個(gè)Project ticket,創(chuàng)建ticket地址:https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134。

一般來說會在2個(gè)工作日內(nèi)進(jìn)行審核。

中央倉庫中的組件要求

不同于我們自己的私人倉庫,中央倉庫中的組件的格式是有一定要求的。我們需要遵循它的格式規(guī)范。

提供Javadoc 和源代碼

除了pom文件之外,還需要提供javadoc文件和源代碼文件。這樣的目的是方便在IDE中直接訪問使用。

這些文件的命名遵循Maven存儲庫格式的命名約定,使用artifactId加上version作為文件名稱,并根據(jù)類型使用javadoc或者sources作為名字的區(qū)分,以jar結(jié)尾,比如:

?
1
2
3
<groupId>com.example.applications</groupId>
<artifactId>example-application</artifactId>
<version>1.4.7</version>

其對應(yīng)的javadoc文件和源代碼文件如下:

?
1
2
example-application-1.4.7-sources.jar
example-application-1.4.7-javadoc.jar

如果確實(shí)沒有javadoc和源代碼文件,比如Scala項(xiàng)目,那么需要?jiǎng)?chuàng)建一個(gè)假的文件來通過驗(yàn)證。

使用GPG/PGP給文件簽名

所有的文件都需要使用GPG/PGP進(jìn)行簽名,生成一個(gè).asc后綴的文件,比如對應(yīng)下面的文件:

?
1
2
3
4
example-application-1.4.7.pom
example-application-1.4.7.jar
example-application-1.4.7-sources.jar
example-application-1.4.7-javadoc.jar

需要生成:

?
1
2
3
4
example-application-1.4.7.pom.asc
example-application-1.4.7.jar.asc
example-application-1.4.7-sources.jar.asc
example-application-1.4.7-javadoc.jar.asc

Metadata文件

Metadata文件也就是需要提交的pom文件。 這是Apache Maven用來定義項(xiàng)目及其構(gòu)建的Project Object Model文件。 使用其他工具進(jìn)行構(gòu)建時(shí),必須對其進(jìn)行組裝并確保其包含下面幾項(xiàng)必須的信息。

除了必需的信息外,還建議包含項(xiàng)目的正確依賴關(guān)系,以便構(gòu)建工具可以使用該信息正確地解決傳遞依賴關(guān)系,并且不需要用戶手動(dòng)管理依賴關(guān)系。

項(xiàng)目坐標(biāo)信息,也叫做GAV。包括groupId ,artifactId和version,如下所示:

?
1
2
3
<groupId>com.example.applications</groupId>
<artifactId>example-application</artifactId>
<version>1.4.7</version>

除此之外,如果項(xiàng)目不是jar包,還需要包含packaging信息,有效的值包括: jar , war ,ear , pom , maven-plugin , ejb , rar , par , aarapklib

項(xiàng)目名字,描述和URL信息:

?
1
2
3
4
<name>Example Application</name>
<description>A application used as an example on how to set up pushing
  its components to the Central Repository.</description>
<url>http://www.example.com/example-application</url>

還可以使用變量來構(gòu)建項(xiàng)目名:

?
1
<name>${project.groupId}:${project.artifactId}</name>

License信息

?
1
2
3
4
5
6
<licenses>
  <license>
    <name>The Apache License, Version 2.0</name>
    <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
  </license>
</licenses>

開發(fā)者信息

?
1
2
3
4
5
6
7
8
<developers>
    <developer>
      <name>Manfred Moser</name>
      <email>manfred@sonatype.com</email>
      <organization>Sonatype</organization>
      <organizationUrl>http://www.sonatype.com</organizationUrl>
    </developer>
  </developers>

SCM信息

SCM是你項(xiàng)目的地址,如果使用的svn可以這樣寫:

?
1
2
3
4
5
<scm>
  <connection>scm:svn:http://subversion.example.com/svn/project/trunk/</connection>
  <developerConnection>scm:svn:https://subversion.example.com/svn/project/trunk/</developerConnection>
  <url>http://subversion.example.com/svn/project/trunk/</url>
</scm>

如果使用的github可以這樣寫:

?
1
2
3
4
5
<scm>
  <connection>scm:git:git://github.com/simpligility/ossrh-demo.git</connection>
  <developerConnection>scm:git:ssh://github.com:simpligility/ossrh-demo.git</developerConnection>
  <url>http://github.com/simpligility/ossrh-demo/tree/master</url>
</scm>

部署

部署的目的是將生成的組件部署到本地的倉庫中,有很多工具可以使用,最常見的就是Apache Maven,其他的構(gòu)建工具比如Apache ant、Gradle、sbt等都可以很方便的構(gòu)建項(xiàng)目。

注意,OSSRH單個(gè)文件有上傳大小限制,最大為1024MB。如果需要上傳更大的組件,需要聯(lián)系sonatype。

上傳到中央倉庫

本地部署好之后,就可以上傳到中央倉庫了。

可以使用Nexus Staging Maven Plugin 或者 Ant Tasks 來通過命令行上傳。也可以直接瀏覽器訪問 https://oss.sonatype.org/ 來上傳。

一旦發(fā)布,組件會在10分鐘之內(nèi)發(fā)布到中央倉庫,并且在2個(gè)小時(shí)之內(nèi),可以從中央倉庫搜索到。

我們以瀏覽器發(fā)布為例來看一下具體的步驟。

首先使用JIRA創(chuàng)建的用戶名和密碼登錄到 https://oss.sonatype.org/ 。

maven中心倉庫OSSRH使用簡介(推薦)

登錄之后,在左下角可以看到Build Promotion選項(xiàng),我們選擇Staging Repositories ,就會展示目前處于stage狀態(tài)的倉庫。

在部署過程中創(chuàng)建的stage存儲庫會有一個(gè)名稱,該名稱以項(xiàng)目的groupId開頭(刪除其中的點(diǎn)),帶有破折號和4位數(shù)字。 例如。 如果您的項(xiàng)目groupId為com.example.applications,則staging配置文件名稱將以comexampleapplications開頭。 序列號從1000開始,并且隨著部署的增加而增加,比如:comexampleapplication-1010。

選擇staging存儲庫,列表下方的面板將顯示有關(guān)存儲庫的更多詳細(xì)信息。 另外,可以點(diǎn)擊CloseRelease按鈕。

maven中心倉庫OSSRH使用簡介(推薦)

部署完成后,狀態(tài)會變成Open,點(diǎn)擊close會觸發(fā)對組件的校驗(yàn),如果校驗(yàn)成功,那么可以點(diǎn)擊release按鈕將其部署到中央倉庫中。

如果選擇使用Nexus Staging Maven插件或Ant任務(wù)進(jìn)行部署,可以直接在命令行進(jìn)行。

到此這篇關(guān)于maven中心倉庫OSSRH使用簡介的文章就介紹到這了,更多相關(guān)maven中心倉庫OSSRH內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/superfjj/article/details/115536983

延伸 · 閱讀

精彩推薦
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經(jīng)有好久沒有升過級了。升級完畢重啟之后,突然發(fā)現(xiàn)好多錯(cuò)誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程20個(gè)非常實(shí)用的Java程序代碼片段

    20個(gè)非常實(shí)用的Java程序代碼片段

    這篇文章主要為大家分享了20個(gè)非常實(shí)用的Java程序片段,對java開發(fā)項(xiàng)目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程xml與Java對象的轉(zhuǎn)換詳解

    xml與Java對象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
  • Java教程Java實(shí)現(xiàn)搶紅包功能

    Java實(shí)現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)搶紅包功能,采用多線程模擬多人同時(shí)搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java8中Stream使用的一個(gè)注意事項(xiàng)

    Java8中Stream使用的一個(gè)注意事項(xiàng)

    最近在工作中發(fā)現(xiàn)了對于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個(gè)非常重要的注意點(diǎn),所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7472021-02-04
主站蜘蛛池模板: 小视频成人 | 成人免费一区二区三区在线观看 | 一级黄片毛片免费看 | 欧美一区二区三区四区五区动图 | h视频免费观看 | 久久精精| 欧美三级日本三级少妇99 | 国产亚洲精彩视频 | 亚洲综合精品 | 日韩在线观看视频一区二区三区 | 强伦女教师视频 | 成人免费一区 | 国毛片| 久久99精品久久久久久小说 | 毛片免费观看完整版 | 日本久久网站 | 欧美性videofree精品 | 欧美日本日韩 | 一区二区三区四区免费看 | 亚洲一级簧片 | 成人免费在线视频 | 美国av片在线观看 | 最新中文字幕免费视频 | 天天操天天骑 | 在线观看中文字幕av | 耽美男男肉文 | 国产69精品久久久久99尤 | 久久超 | 少妇一级淫片高潮流水电影 | 日本在线视频二区 | 亚洲精品欧美二区三区中文字幕 | 国产精品视频免费网站 | 久久久久久久亚洲精品 | 污污网站入口 | 91av99| 久久国产一二区 | av观看国产 | av久草| 欧美a级大胆视频 | 亚洲3p激情在线观看 | 国产精品视频二区不卡 |