maven---9使用Nexus創(chuàng)建私服

  • 首先私服是一種衍生出來(lái)的特殊的Maven遠(yuǎn)程倉(cāng)庫(kù),構(gòu)建私服的好處請(qǐng)看3.5私服
  • 可以幫助大家建立私服的倉(cāng)庫(kù)管理軟件:Apache基金會(huì)的Archiva绽乔,JFrog的Artifactory,Sonatype的Nexus睦授,其中Nexus最流行。

1Nexus簡(jiǎn)介

  • Nexus的誕生也是因?yàn)槭懿涣送饩W(wǎng)的慢速度,所以通過(guò)開(kāi)發(fā)web應(yīng)用把已下載構(gòu)件緩存起來(lái)斑鼻,下次下載直接從緩存處獲取关摇。
  • Nexus分為專(zhuān)業(yè)版(收費(fèi))和開(kāi)源版(免費(fèi))
    開(kāi)源版特性:
  • 較小的內(nèi)存占用(最少28MB)
  • 基于ExtJS的友好界面
  • 基于Restlet的完全REST API
  • 支持代理倉(cāng)庫(kù)、宿主倉(cāng)庫(kù)和倉(cāng)庫(kù)組
  • 基于文件系統(tǒng),不需要數(shù)據(jù)庫(kù)
  • 支持倉(cāng)庫(kù)索引和搜索
  • 支持從界面上傳Maven構(gòu)件
  • 細(xì)粒度的安全控制

專(zhuān)業(yè)版

2安裝Nexus

Nexus是典型的Java Web應(yīng)用鹅很,他有兩種安裝包,一種是包含Jetty容器的Bundle包整袁,另一種是不包含Web容器的war包菠齿。

2.1下載

下載,下載oss版
版本:nexus-3.1.0-04-win64.zip
jdk要求:1.8及以上坐昙。

nexus3.1參考文檔

解壓后有兩個(gè)目錄(安裝目錄绳匀、數(shù)據(jù)目錄)


nexus-3.1.0-04-win64下文件
  • (安裝目錄)nexus-3.1.0-04:該目錄包含了Nexus運(yùn)行所需要的文件,如啟動(dòng)腳本民珍,依賴(lài)jar包等。(所有相同版本nexus中該目錄內(nèi)容相同)
    目錄內(nèi)容及解釋?zhuān)?/li>
LICENSE.txt
NOTICE.txt
bin
deploy
etc
lib
public
system
The installation directory includes a number of nested directories:

LICENSE.txt and NOTICE.txt

contain legal details about the license and copyright notices.
bin

contains the nexus
 startup script itself as well as startup-related configuration files.

etc

contains configuration files.
lib

contains binary libraries related to Apache Karaf.
public

contains public resources of the application.
system

contains all components and plugins that constitute the application.
  • (數(shù)據(jù)目錄)sonatype-work:該目錄包含Nexus生成的配置文件暴匠、日志、倉(cāng)庫(kù)文件等岸霹。(需要備份時(shí)備份該目錄就行)

2.2常見(jiàn)命令

如使用命令行請(qǐng)使用管理員權(quán)限打開(kāi)

2.2.1配置成服務(wù)

  • 原因:
    在生產(chǎn)中使用安裝Nexus Repository Manager時(shí),必須將其配置為作為服務(wù)運(yùn)行垢袱,以便在服務(wù)器重新啟動(dòng)后重新啟動(dòng)臣樱。 官方文檔提供了各平臺(tái)的配置席吴。
  • Running as a Service on Windows
    使用管理員身份打開(kāi)命令行
nexus.exe /install <optional-service-name>

默認(rèn)服務(wù)名稱(chēng)為nexus泣洞。
安裝成功


Paste_Image.png

在系統(tǒng)的服務(wù)中可以看到:

nexus安裝成系統(tǒng)服務(wù)

配置成隨系統(tǒng)啟動(dòng)

配置隨系統(tǒng)啟動(dòng)

操作服務(wù)的其命令

nexus.exe /start <optional-service-name>   開(kāi)啟服務(wù)删壮,(也可以在winds的服務(wù)界面操作)
nexus.exe /stop <optional-service-name>
nexus.exe /uninstall <optional-service-name> 卸載服務(wù)。

2.2.2啟動(dòng)nexus

啟動(dòng)成功,默認(rèn)端口8081.登錄界面猴抹,http://localhost:8081/

啟動(dòng)成功登錄后界面

方案一
如果你將nexus配置成服務(wù)后,1.進(jìn)入界面系統(tǒng)服務(wù)界面誓禁,直接啟動(dòng)服務(wù)后就可以姜盈,或者在命令行采用nexus.exe /start nexus,啟動(dòng)服務(wù)。

方案二(推薦方案一)
如果你沒(méi)有將nexus配置成服務(wù),則需要手動(dòng)到命令行執(zhí)行啟動(dòng)命令:
進(jìn)入到bin/目錄下

nexus.exe /run

出現(xiàn)下面文字就啟動(dòng)成功

Started Sonatype Nexus OSS 3.1.0-04

其它命令

nexus.exe start
nexus.exe stop
nexus.exe restart

2.2.3停止nexus

同樣如果是配置成系統(tǒng)中的服務(wù)音瓷,則關(guān)閉服務(wù)就行对嚼,否則直接在命令行執(zhí)行Ctr+C

2.2.4登錄

進(jìn)入nexus后,輸入賬號(hào)密碼登錄绳慎,admin/admin123

nexus的界面

2.2.5提示

為了在命令行中方便使用nexus.exe命令可以將其配置在系統(tǒng)環(huán)境變量中纵竖。

3Nexus的倉(cāng)庫(kù)與倉(cāng)庫(kù)組

Nexus包含了各種類(lèi)型的倉(cāng)庫(kù)概念,包括代理倉(cāng)庫(kù)(proxy)杏愤、宿主倉(cāng)庫(kù)(hosted)靡砌、倉(cāng)庫(kù)組(group)、虛擬倉(cāng)庫(kù)(virtual)珊楼。每一種倉(cāng)庫(kù)都提供了豐富實(shí)用的配置參數(shù)通殃,用戶根據(jù)需求定制。

3.1Nexus內(nèi)置的倉(cāng)庫(kù)

  • 對(duì)于4種類(lèi)型的倉(cāng)庫(kù)厕宗,Maven內(nèi)置了一些倉(cāng)庫(kù)画舌,這些倉(cāng)庫(kù)用戶可以不用在配置了。每個(gè)倉(cāng)庫(kù)的格式為maven2或maven1已慢,此外倉(cāng)庫(kù)還有一個(gè)屬性Policy(策略),表示倉(cāng)庫(kù)為發(fā)布(Release)版本還是快照(Snapshot)版本倉(cāng)庫(kù)曲聂。

    • 代理倉(cāng)庫(kù)主要是提供下載緩存構(gòu)件和插件、如果只是從遠(yuǎn)程倉(cāng)庫(kù)下載構(gòu)件和插件佑惠、那么代理倉(cāng)庫(kù)完全足夠朋腋。
    • 宿主倉(cāng)庫(kù)主要用于存放項(xiàng)目部署的構(gòu)件或者第三方構(gòu)件。
    • 倉(cāng)庫(kù)組將相同策略的倉(cāng)庫(kù)聚合膜楷,并通過(guò)一致的地址提供服務(wù)旭咽。(因?yàn)轫?xiàng)目有可能依賴(lài)的中央倉(cāng)庫(kù)的release插件和某個(gè)宿主倉(cāng)庫(kù)中release的插件,為了方便可以配置倉(cāng)庫(kù)組作為倉(cāng)庫(kù)把将,而不去單獨(dú)配置兩個(gè)倉(cāng)庫(kù))轻专。
  • 對(duì)于格式為maven1的倉(cāng)庫(kù)和虛擬類(lèi)型的倉(cāng)庫(kù)不做介紹,這兩種都是為maven1服務(wù)的察蹲。

  • Maven Central: 代理中央倉(cāng)庫(kù)请垛、策略為Release催训、只會(huì)下載和緩存中央倉(cāng)庫(kù)中的發(fā)布版本構(gòu)件。

  • Release: 策略為Release的宿主倉(cāng)庫(kù)宗收、用來(lái)部署組織內(nèi)部的發(fā)布版本內(nèi)容漫拭。

  • Snapshot: 策略為Snapshot的宿主倉(cāng)庫(kù)、用來(lái)部署組織內(nèi)部的快照版本內(nèi)容混稽。

  • 3rd party: 策略為Release的宿主倉(cāng)庫(kù)類(lèi)型采驻、用來(lái)部署無(wú)法從公共倉(cāng)庫(kù)獲取的第三方發(fā)布版本構(gòu)件、如oracle連接驅(qū)動(dòng)jar包匈勋。

  • ApacheSnapshot: 策略為Snapshot的代理倉(cāng)庫(kù)礼旅、用來(lái)代理ApacheMaven倉(cāng)庫(kù)的快照版本構(gòu)件。

  • Codehaus Snapshots:這是一個(gè)策略為Snapshot的代理倉(cāng)庫(kù)洽洁,用來(lái)代理Codehaus Maven倉(cāng)庫(kù)的快照版本構(gòu)件痘系。

  • Google Code:這是一個(gè)策略為Release的代理倉(cāng)庫(kù),用來(lái)代理Google Code Maven倉(cāng)庫(kù)的發(fā)布版本構(gòu)件饿自。

  • PublicRepositories:該倉(cāng)庫(kù)將上述所有策略為Release的倉(cāng)庫(kù)聚合并通過(guò)一致的地址提供服務(wù)汰翠。

  • Public Snapshot Repositories:該倉(cāng)庫(kù)將上述所有策略為Snapshot的倉(cāng)庫(kù)聚合并通過(guò)一致的地址提供服務(wù)。

3.2案例理解概念

公司內(nèi)部建立Nexus私服為公司項(xiàng)目提供服務(wù)昭雌,公司Maven項(xiàng)目X复唤。

  • X依賴(lài)開(kāi)源類(lèi)庫(kù)如JUnit類(lèi),這些構(gòu)件可以從Maven中央倉(cāng)庫(kù)獲得烛卧,因此Maven Central代理倉(cāng)庫(kù)會(huì)被用來(lái)代理中央倉(cāng)庫(kù)的內(nèi)容佛纫,并在私服上緩存下來(lái)。

  • X還來(lái)依賴(lài)與Google Code的某個(gè)項(xiàng)目唱星,其構(gòu)件不在中央倉(cāng)庫(kù)雳旅,只存在于Google Code倉(cāng)庫(kù)中,所以Google Code代理倉(cāng)庫(kù)會(huì)被用來(lái)緩存這樣的構(gòu)件间聊。

  • X還依賴(lài)于Oracle的JDBC驅(qū)動(dòng)攒盈,由于版權(quán)原因,該類(lèi)庫(kù)無(wú)法從公共倉(cāng)庫(kù)獲得哎榴,因此公司管理員將其部署到3rd party宿主倉(cāng)庫(kù)中型豁,供X使用。

  • X的快照版構(gòu)件成功后會(huì)被部署到Snapshots宿主倉(cāng)庫(kù)中尚蝌,供其他項(xiàng)目使用迎变,當(dāng)X發(fā)布正式版本的時(shí)候,其構(gòu)件會(huì)被部署到Release宿主倉(cāng)庫(kù)中飘言。

  • 由于X用到了上述列表中的很多倉(cāng)庫(kù)衣形,為每個(gè)倉(cāng)庫(kù)聲明Maven配置又比較麻煩,因此可以直接使用倉(cāng)庫(kù)Public Repositories和Public Snapshot Repositories。當(dāng)X需要JUnit的時(shí)候谆吴,她直接從PublicRepositories下載倒源,Public Repositories會(huì)選擇Maven Central提供實(shí)際的內(nèi)容。

3.3Nexus倉(cāng)庫(kù)分類(lèi)的概念

Maven可以直接從宿主倉(cāng)庫(kù)下載構(gòu)件句狼,也可以從代理下載笋熬,為了方便還可以從倉(cāng)庫(kù)組下載構(gòu)件,倉(cāng)庫(kù)組沒(méi)有時(shí)間內(nèi)容腻菇,它會(huì)轉(zhuǎn)向其包含的宿主倉(cāng)庫(kù)或者代理倉(cāng)庫(kù)獲取實(shí)際的構(gòu)件胳螟。

各種類(lèi)型的Nexus倉(cāng)庫(kù)

3.4創(chuàng)建Nexus倉(cāng)庫(kù)

創(chuàng)建按鈕
選擇倉(cāng)庫(kù)格式和類(lèi)型

3.4.1宿主倉(cāng)庫(kù)配置信息

宿主倉(cāng)庫(kù)配置信息

3.4.2代理倉(cāng)庫(kù)配置信息

代理倉(cāng)庫(kù)配置信息

案例

  • 發(fā)生錯(cuò)誤條件:第一次搭建nexus私服在局域網(wǎng)內(nèi)的一臺(tái)服務(wù)器上,而且那臺(tái)服務(wù)器沒(méi)有連接外網(wǎng)筹吐,所以私服上還沒(méi)有任何構(gòu)件糖耸。局域網(wǎng)中的A電腦進(jìn)行了下面操作,A在本地maven倉(cāng)庫(kù)之前已經(jīng)有了maven-reporting-api構(gòu)件骏令,通過(guò)鏡像配置本地maven項(xiàng)目從私服獲取所有構(gòu)件蔬捷,然后執(zhí)行mvn clean deploy出現(xiàn)以下錯(cuò)誤。下面是一種錯(cuò)誤分析榔袋。
緩存失敗信息后,再次連接又出錯(cuò)
  • 錯(cuò)誤分析:(正確铡俐,測(cè)試過(guò))
    a. 根據(jù)提示說(shuō)明本地緩存了這個(gè)錯(cuò)誤凰兑,解決方法由兩個(gè):

  • 一是等maven檢查遠(yuǎn)程倉(cāng)庫(kù)的更新間隔時(shí)間到了(更新間隔時(shí)間是maven從遠(yuǎn)程倉(cāng)庫(kù)(nexus)檢查最新構(gòu)件的更新策略u(píng)pdataPolicy。默認(rèn)一天檢查一次审丘。詳細(xì)請(qǐng)看maven---6倉(cāng)庫(kù)--->4遠(yuǎn)程倉(cāng)庫(kù)配置)吏够。

  • 另一個(gè)是強(qiáng)制讓maven檢查遠(yuǎn)程倉(cāng)庫(kù)進(jìn)行更新,即不再等它時(shí)間到,使用參數(shù)U來(lái)強(qiáng)制更新滩报。

  • 解決步驟:(如果解決不了看下面)

    • 1.讓私服連接上外網(wǎng)锅知,在本地倉(cāng)庫(kù)中刪除掉maven-reporting-api構(gòu)件。
    • 2.執(zhí)行mvn clean deploy -U
  • 再解決
    如果上面的1,2執(zhí)行完后沒(méi)解決脓钾。那么應(yīng)該是nexus上遠(yuǎn)程代理倉(cāng)庫(kù)在沒(méi)有網(wǎng)的情況下下載構(gòu)件售睹,但是下載失敗了,而nexus代理倉(cāng)庫(kù)對(duì)“沒(méi)找到構(gòu)件”這種情況會(huì)緩存一天(看3.4.2代理倉(cāng)庫(kù)配置信息)可训,所以即使你本地按照上面設(shè)置了昌妹,但是nexus這里依然給你它緩存的結(jié)果。進(jìn)行下面的設(shè)置后在執(zhí)行上面2個(gè)步驟握截,即可解決飞崖。

    • 1.到nexus上設(shè)置要訪問(wèn)的遠(yuǎn)程代理倉(cāng)庫(kù)對(duì)待“沒(méi)有發(fā)現(xiàn)構(gòu)件的緩存時(shí)間設(shè)為0”。
設(shè)置緩存錯(cuò)誤結(jié)果時(shí)間為0
  • 再次執(zhí)行mvn clean deploy -U谨胞,就可以了固歪。

3.4.3倉(cāng)庫(kù)組配置信息

倉(cāng)庫(kù)組配置信息

4配置Maven從Nexus下載構(gòu)件

4.1確定nexus上倉(cāng)庫(kù)的地址。

獲取要配置nexus倉(cāng)庫(kù)的地址

http://localhost:8081/repository/maven-public/

4.2在單個(gè)maven項(xiàng)目中配置

4.3配置全局范圍(推薦)

  • 想通過(guò)一次配置就讓本機(jī)所有maven項(xiàng)目都使用自己的私服。答案:在setting.xml中配置贰健。

4.3.1在setting中配置訪問(wèn)私服(方法一)

  • settings.xml中不能配置repositories和pluginRepositories胞四,但是提供了Profile機(jī)制,能讓用戶將倉(cāng)庫(kù)配置放到settings.xml中的Profile中伶椿。
<settings>
 ...
    <!--配置Nexus倉(cāng)庫(kù)-->
    <profile>
       <id>nexus</id>
       <repositories>
        <repository>
          <id>nexus</id>
          <name>Nexus Repository</name>
          <url>http://localhost:8081/repository/maven-public/</url>
          <layout>default</layout>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
         <releases>
            <enabled>true</enabled>
          </releases>
        </repository>
      </repositories>

      <pluginRepositories>
        <pluginRepository>
            <id>nexus</id>
            <name>Nexus Repository</name>
            <url>http://localhost:8081/repository/maven-public/</url>
            <layout>default</layout>
            <snapshots>
              <enabled>true</enabled>
            </snapshots>
            <releases>
              <enabled>true</enabled>
            </releases>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <!--激活Nexus倉(cāng)庫(kù)配置  -->
  <activeProfiles>
    <activeProfile>nexus</activeProfile>
  </activeProfiles>
...
</settings>
  • 配置中使用一個(gè)id=nexus的profile辜伟,這個(gè)profile包含了相關(guān)的倉(cāng)庫(kù)配置,同時(shí)使用activeProfile元素將這個(gè)profile激活脊另。

4.3.2通過(guò)鏡像配置私服(方法二)(推薦)

  • 通過(guò)(方法一)在settings.xml配置私服倉(cāng)庫(kù)后导狡,項(xiàng)目依然會(huì)時(shí)不時(shí)訪問(wèn)中央倉(cāng)庫(kù)和maven項(xiàng)目中配置的其它遠(yuǎn)程倉(cāng)庫(kù),而不是全部訪問(wèn)私服偎痛,此時(shí)就需要配置鏡像旱捧。maven---6倉(cāng)庫(kù)--->7鏡像
  • 讓所有對(duì)遠(yuǎn)程倉(cāng)庫(kù)(不論是中央倉(cāng)庫(kù)還是第三方倉(cāng)庫(kù)如:JBoss Maven庫(kù))的請(qǐng)求都轉(zhuǎn)到nexus倉(cāng)庫(kù),同時(shí)nexus的倉(cāng)庫(kù)組要包含所有maven項(xiàng)目需要請(qǐng)求的代理倉(cāng)庫(kù)(即需要的代理所有需要的遠(yuǎn)程倉(cāng)庫(kù))踩麦。
    同樣在settings.xml中配置鏡像:
<settings>
 ...

    <!--配置鏡像-->
 <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <name>nexus mirror for all repositry</name>
      <url>http://localhost:8081/repository/maven-public/</url>
    </mirror>
    <!--配置Nexus倉(cāng)庫(kù)-->
    <profile>
       <id>nexus</id>
       <repositories>
        <repository>
          <id>central</id>
          <name>Central Repository</name>
          <url>https://repo.maven.apache.org/maven2</url>
          <layout>default</layout>
          <snapshots><enabled>true</enabled>  </snapshots>
         <releases><enabled>true</enabled>  </releases>
        </repository>
      </repositories>

      <pluginRepositories>
        <pluginRepository>
            <id>central</id>
            <name>Central pluginRepository</name>
            <url>https://repo.maven.apache.org/maven2</url>
            <layout>default</layout>
            <snapshots><enabled>true</enabled></snapshots>
            <releases><enabled>true</enabled></releases>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <!--激活Nexus倉(cāng)庫(kù)配置  -->
  <activeProfiles>
    <activeProfile>nexus</activeProfile>
  </activeProfiles>
...
</settings>

解釋

  • 問(wèn):配置的鏡像*會(huì)攔截所有的倉(cāng)庫(kù)請(qǐng)求枚赡,為什么還要配置central的倉(cāng)庫(kù)及插件倉(cāng)庫(kù)呢?
  • 答:1.首先倉(cāng)庫(kù)名稱(chēng)取為central谓谦,會(huì)覆蓋超級(jí)Pom中的中央倉(cāng)庫(kù)配置贫橙。2.由于所有倉(cāng)庫(kù)請(qǐng)求都轉(zhuǎn)向了鏡像配置的地址,所以配置的倉(cāng)庫(kù)和插件倉(cāng)庫(kù)的url無(wú)效反粥。3.主要目的:開(kāi)啟對(duì)快照版本下載的支持卢肃,當(dāng)Maven需要下載發(fā)布版或者快照版構(gòu)件的時(shí)候,它首先檢查central才顿,看該類(lèi)型構(gòu)件是否支持莫湘,得到正面回答后,再根據(jù)鏡像匹配規(guī)則轉(zhuǎn)而訪問(wèn)私服倉(cāng)庫(kù)地址郑气。(此時(shí)私服倉(cāng)庫(kù)有可能支持快照也有可能不支持幅垮,主要看私服倉(cāng)庫(kù)配置)。

5部署構(gòu)件至Nexus

5.1需求說(shuō)明

  • 對(duì)于Nexus的宿主倉(cāng)庫(kù)竣贪,他們的主要作用是存儲(chǔ)組織內(nèi)部的军洼,或者一些無(wú)法從公共倉(cāng)庫(kù)獲得的第三方構(gòu)件,供大家下載演怎,所以需要1.配置maven自動(dòng)不熟構(gòu)件到nexus的宿主倉(cāng)庫(kù)中匕争。2.或者通過(guò)界面手動(dòng)上傳構(gòu)件。

5.2部署Maven項(xiàng)目構(gòu)件至Nexus

開(kāi)發(fā)生成的快照版本部署到Nexus中策略為Snapshot的宿主倉(cāng)庫(kù)中爷耀,項(xiàng)目正式發(fā)布的構(gòu)件則應(yīng)該部署到Nexus中策略為Release的宿主倉(cāng)庫(kù)中甘桑。

5.2.1獲取Nexus中確定要部署的宿主倉(cāng)庫(kù)的連接

要部署到的遠(yuǎn)程倉(cāng)庫(kù)

http://localhost:8081/repository/maven-releases/
http://localhost:8081/repository/maven-snapshots/

5.2.2配置項(xiàng)目pom

 <!--配置項(xiàng)目生成的構(gòu)件部署到Nexus私服上 -->
  <distributionManagement>
    <repository>
        <id>nexus-releases</id>
        <name>Nexus ReleaseRepository</name>    
        <url>http://localhost:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>nexus-snapshots</id>
        <name>Nexus SnapshotsRepository</name>      
        <url>http://localhost:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
  </distributionManagement>

5.2.3在settings.xml配置倉(cāng)庫(kù)認(rèn)證信息

因?yàn)椴皇撬腥硕伎梢圆渴饦?gòu)件到nexus倉(cāng)庫(kù)中的,關(guān)于認(rèn)證信息就是擁有管理該倉(cāng)庫(kù)的用戶,在下面有講跑杭。

<settings>
 ....
  <servers>
 <!--配置nexus倉(cāng)庫(kù)認(rèn)證信息-->
    <server>  
        <id>nexus-releases</id>  
        <username>admin</username>  
        <password>****</password>  
    </server>  
    <server>  
        <id>nexus-snapshots</id>  
        <username>admin</username>  
        <password>****</password>  
    </server>  
  </servers>
...
</settings>

5.2.4使用mvn命令

在項(xiàng)目根目錄下執(zhí)行部署命令铆帽,或者在開(kāi)發(fā)工具中執(zhí)行部署命令

mvn clean deploy

5.3手動(dòng)部署第三方構(gòu)件至Nexus倉(cāng)庫(kù)

  • 對(duì)于一些開(kāi)源或者有版權(quán)的jar文件,他們?cè)谶h(yuǎn)程倉(cāng)庫(kù)沒(méi)有德谅,所以只能將他們先下載下來(lái)爹橱,再手動(dòng)上傳到nexus私服上。

5.3.1確定Nexus中要部署的3rd-party宿主倉(cāng)庫(kù)連接

該宿主倉(cāng)庫(kù)一般轉(zhuǎn)為用來(lái)存放第三方構(gòu)件的倉(cāng)庫(kù)窄做。


Paste_Image.png

http://localhost:8081/repository/3rd-party/

5.3.2在settings.xml配置3rd-party倉(cāng)庫(kù)認(rèn)證信息

該信息在下面使用

<server>  
        <id>nexus-3rd-party</id>  
        <username>admin</username>  
        <password>admin123</password>  
    </server>  

5.3.3命令行部署到nexus上

通過(guò)命令行來(lái)操作部署G:\5jar\edu.mit.jwi_2.3.3_jdk.jar目錄下的jar包到nexus的3rd-party倉(cāng)庫(kù)中愧驱。
其中需要你自定義groupId,artifactId,version,packaging信息。其中的-Dfile填寫(xiě)jar的位置椭盏,-Durl填寫(xiě)nexus中3rd-party的連接组砚,-DrepositoryId填寫(xiě)在settings.xml配置的認(rèn)證信息的id。

mvn deploy:deploy-file  -Dfile=G:\5jar\edu.mit.jwi_2.3.3_jdk.jar -DgroupId=local.edu.stanford -DartifactId=edu.mit.jwi_jdk -Dversion=2.3.3 -Dpackaging=jar    -Durl=http://localhost:8081/repository/3rd-party/ -DrepositoryId=nexus-3rd-party

部署成功


手動(dòng)部署到3rd-party倉(cāng)庫(kù)的構(gòu)件
  • 3rd-party倉(cāng)庫(kù)設(shè)置了相同依賴(lài)不允許重復(fù)部署掏颊,所以再次部署會(huì)失敗糟红。

關(guān)于部署第三方構(gòu)件到本地倉(cāng)庫(kù),請(qǐng)查看maven---6倉(cāng)庫(kù)---->3.2.2.3安裝第三方構(gòu)件到本地倉(cāng)庫(kù)

6Nexus的權(quán)限管理

6.1需求

處于安全考慮,在組織內(nèi)部中如果希望只有管理員才能配置Nexus乌叶,只有某些團(tuán)隊(duì)成員才能部署構(gòu)件盆偿,或者更細(xì)要求,例如每個(gè)項(xiàng)目都有自己的Nexus宿主倉(cāng)庫(kù)枉昏,且只能部署項(xiàng)目構(gòu)件至該倉(cāng)庫(kù)陈肛,Nexus提供了全面的權(quán)限控制特性,能讓用戶自由根據(jù)需求配置Nexus用戶(user)兄裂、角色(role)、權(quán)限(privilege).

6.2介紹

nexus中關(guān)于安全的官方詳細(xì)介紹

nexus操作界面

6.1.1權(quán)限privilege

  • Nexus是基于權(quán)限(privilege)做訪問(wèn)控制的阳藻,服務(wù)器每一個(gè)資源都有相應(yīng)的權(quán)限來(lái)控制晰奖,用戶只需特定操作必要擁有必要的權(quán)限。
權(quán)限

6.1.2角色(role)

  • 管理員必須以角色(role)的方式將權(quán)限賦予Nexus用戶腥泥,例如訪問(wèn)nexus中搜索頁(yè)面需要nx-search-read權(quán)限匾南,而nexus中配置的角色nx-anonymous角色就擁有該權(quán)限,將這個(gè)角色分配給某個(gè)用戶就可以訪問(wèn)nexus中搜索頁(yè)面了蛔外。角色還可以包含一個(gè)或多個(gè)角色蛆楞。
nx-anonymous角色擁有的權(quán)限

6.1.3用戶(user)

  • 用戶可以被賦予一個(gè)或多個(gè)角色,角色可以包含一個(gè)或者多個(gè)權(quán)限夹厌,角色可以包含一個(gè)或多個(gè)其它角色豹爹。


    用戶

7Nexus的調(diào)度任務(wù)

  • Nexus提供了一系列可配置的調(diào)度任務(wù)來(lái)方便用戶管理系統(tǒng),用戶可以設(shè)定這些任務(wù)運(yùn)行方式矛纹,例如:每天臂聋、每周、手動(dòng)等,任務(wù)調(diào)度會(huì)在適當(dāng)?shù)臅r(shí)候在后臺(tái)運(yùn)行孩等,當(dāng)然用戶還是能夠在界面觀察他們的狀態(tài)艾君。
  • Nexus包含了以下幾種類(lèi)型的調(diào)度任務(wù):


    任務(wù)類(lèi)型
  • 創(chuàng)建任務(wù)


    Nexus管理界面左邊最下方
創(chuàng)建任務(wù)

8其他私服軟件

還沒(méi)接觸....

留言

有什么不懂的一起探討一下吧,歡迎留下寶貴意見(jiàn)肄方,喜歡就點(diǎn)個(gè)贊吧(哈哈)冰垄,多謝鼓勵(lì)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末权她,一起剝皮案震驚了整個(gè)濱河市虹茶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌伴奥,老刑警劉巖写烤,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異拾徙,居然都是意外死亡洲炊,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)尼啡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)暂衡,“玉大人,你說(shuō)我怎么就攤上這事崖瞭】癯玻” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵书聚,是天一觀的道長(zhǎng)唧领。 經(jīng)常有香客問(wèn)我,道長(zhǎng)雌续,這世上最難降的妖魔是什么斩个? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮驯杜,結(jié)果婚禮上受啥,老公的妹妹穿的比我還像新娘。我一直安慰自己鸽心,他們只是感情好滚局,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著顽频,像睡著了一般藤肢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上冲九,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天谤草,我揣著相機(jī)與錄音跟束,去河邊找鬼。 笑死丑孩,一個(gè)胖子當(dāng)著我的面吹牛冀宴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播温学,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼略贮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了仗岖?” 一聲冷哼從身側(cè)響起逃延,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎轧拄,沒(méi)想到半個(gè)月后揽祥,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡檩电,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年拄丰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俐末。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡料按,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出卓箫,到底是詐尸還是另有隱情载矿,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布烹卒,位于F島的核電站闷盔,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏旅急。R本人自食惡果不足惜馁筐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望坠非。 院中可真熱鬧,春花似錦果正、人聲如沸炎码。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)潦闲。三九已至,卻和暖如春迫皱,著一層夾襖步出監(jiān)牢的瞬間歉闰,已是汗流浹背辖众。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留和敬,地道東北人凹炸。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像昼弟,于是被迫代替她去往敵國(guó)和親啤它。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

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

  • |-1-更新內(nèi)容[6.從倉(cāng)庫(kù)解析依賴(lài)的機(jī)制(重要)] 1Maven倉(cāng)庫(kù)作用 倉(cāng)庫(kù)用來(lái)存儲(chǔ)所有項(xiàng)目使用到構(gòu)件舱痘,在ma...
    zlcook閱讀 6,052評(píng)論 0 25
  • 0推薦文章和網(wǎng)站 參考文章使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建jenkins git插件安裝Jen...
    zlcook閱讀 12,501評(píng)論 7 46
  • 微笑面對(duì)每一天芭逝,耶K怠!旬盯!咳咳下面的同學(xué)不要講話啦台妆,開(kāi)始上課啦 nexus安裝 下載nexus壓縮包(基于windo...
    小煉君閱讀 1,795評(píng)論 0 51
  • 如需轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/u011974987/article/details...
    Xiho丶閱讀 3,090評(píng)論 1 6
  • Nexus是Maven倉(cāng)庫(kù)管理器,也可以叫Maven的私服瓢捉。Nexus是一個(gè)強(qiáng)大的Maven倉(cāng)庫(kù)管理器频丘,它極大地簡(jiǎn)...
    飛揚(yáng)小米閱讀 1,361評(píng)論 0 51