nexus3:maven私倉搭建

使用原因

  1. 將第三方j(luò)ar包(或其它類型的包)發(fā)布到私倉上,以便通過maven(或其它包管理工具)進(jìn)行統(tǒng)一的依賴管理
  2. 提高下載速度(你知道國內(nèi)通過maven官方倉庫更新依賴是很慢的)
  3. 。。。。。。

環(huán)境支持

JDK Maven

安裝

下載地址:https://www.sonatype.com/download-oss-sonatype
提供了Nexus Repository Manager OSS 3.xNexus Repository Manager OSS 2.x兩個(gè)版本

這里我們采用3.x的版本,且以windows為例:
下載得到

mark

將其解壓到任一目錄
在終端中執(zhí)行:

{NEXUS_HOME}\nexus-3.6.2-01\bin\nexus.exe /run
mark

PS:端口在{NEXUS_HOME}\sonatype-work\nexus3\etc\nexus.properties文件中可修改

通過瀏覽器,訪問localhost:8081即可進(jìn)入nexus的管理頁面

配置與說明

登錄默認(rèn)管理員賬號(hào):admin/admin123


mark

創(chuàng)建一個(gè)倉庫(Create Repositories)

mark

按照里面提示,一步步操作就好,值得注意的地方主要是hosted類型的倉庫記得修改如下:


mark

Maven配置

1.找到{MAVEN_HOME}\conf\settings.xml
2.在Servers節(jié)點(diǎn)下添加(可以根據(jù)角色配置多個(gè)):

<server>
    <id>nexus</id>
    <username>admin</username>
    <password>admin123</password>
</server>

2.在Mirrors節(jié)點(diǎn)下添加:

<mirror>
    <id>nexus</id>
    <name>{name}</name>
    <url>http://{host}:{port}/repository/maven-public/</url>
    <mirrorOf>central</mirrorOf>
</mirror>

使用與發(fā)布

拉取jar包

  1. 如果私倉允許匿名用戶拉取jar, 則在maven配置文件中配置好了mirror即可
  2. 如果私倉需要權(quán)限認(rèn)證, 那么需要在pom文件的<project>下添加子節(jié)點(diǎn)<repositories>:
<repositories>
    <repository>
        <id>cz2rRepo</id>
        <name>cz2r Repository</name>
        <url>http://www.cz2r.com:8081/repository/maven-public/</url>
        <releases>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
        </releases>
    </repository>
</repositories>

發(fā)布maven項(xiàng)目

  1. 在pom文件中的project節(jié)點(diǎn)中的最后添加:
<distributionManagement>
    <repository>
        <id>{server ID}</id>   <!--setting.xml中server的id-->
        <name>{repository name}</name> <!--Nexus中repository的名字-->
        <url>{repository URL}</url>  <!--Nexus中repository的URL-->
    </repository>
</distributionManagement>
  1. 執(zhí)行Maven命令:
mvn deploy -DskipTests

發(fā)布獨(dú)立jar包

mvn deploy:deploy-file -DgroupId={group} -DartifactId={artifact} -Dversion={vsersion} -Dpackaging=jar -Dfile={jar path} -Durl=http://{host}:{port}/repository/{repository name}/ -DrepositoryId={server id}

參數(shù)說明:
groupartifactvsersion對(duì)應(yīng)Maven中的三個(gè)坐標(biāo)參數(shù)
jar path為你要發(fā)布的jar的絕對(duì)路徑
hostport為你私倉的主機(jī)地址和端口
repository name為你要發(fā)布到的repository的URL(可在nexus中copy)
server id對(duì)應(yīng)了在maven中配置的server的ID(如果server所對(duì)應(yīng)的角色權(quán)限不足,則會(huì)發(fā)布失敗)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容