日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

maven--私服的搭建(Nexus的使用)

發布時間:2025/3/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 maven--私服的搭建(Nexus的使用) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

私服是什么

私服,私有服務器,是公司內部Maven項目經常需要的東東,不總結一下,不足以體現出重視。Nexus是常用的私用Maven服務器,一般是公司內部使用。下載地址是http://www.sonatype.org/nexus/go。默認端口8081,這里我選擇最新版nexus-2.5.0-04。

常用功能

Nexus常用功能就是:指定私服的中央地址、將自己的Maven項目指定到私服地址、從私服下載中央庫的項目索引、從私服倉庫下載依賴組件、將第三方項目jar上傳到私服供其他項目組使用。

開啟Nexus服務后訪問url地址http://localhost:8081/nexus/(推薦使用自己的ip地址),之后登錄系統,用戶名密碼分別是:admin/admin123.

最頻繁的就是點擊左側菜單欄的Repositories按鈕




一般用到的倉庫種類是hosted、proxy。Hosted代表宿主倉庫,用來發布一些第三方不允許的組件,比如oracle驅動、比如商業軟件jar包。Proxy代表代理遠程的倉庫,最典型的就是Maven官方中央倉庫、JBoss倉庫等等。如果構建的Maven項目本地倉庫沒有依賴包,那么就會去這個代理站點去下載,那么如果代理站點也沒有此依賴包,就回去遠程中央倉庫下載依賴,這些中央倉庫就是proxy。代理站點下載成功后再下載至本機。筆者認為,其實Maven這個自帶的默認倉庫一般情況下已經夠大多數項目使用了。特殊情況時在配置新的倉庫,指定url即可,一般熟悉ExtJS的人操作這個Nexus都沒什么問題,單詞不是很難,不明白的查查單詞基本差不多。就是如果Sonatype公司對其做了國際化一的處理就更好了。


hosted ? 類型的倉庫,內部項目的發布倉庫

releases 內部的模塊中release模塊的發布倉庫

snapshots 發布內部的SNAPSHOT模塊的倉庫

3rd party 第三方依賴的倉庫,這個數據通常是由內部人員自行下載之后發布上去

proxy ? 類型的倉庫,從遠程中央倉庫中尋找數據的倉庫

group ? 類型的倉庫,組倉庫用來方便我們開發人員進行設置的倉庫



maven項目索引

下載Maven項目索引,項目索引是為了使用者能夠在私服站點查找依賴使用的功能




保存后后臺會運行一個任務,點擊菜單欄的Scheduled Tasks選項即可看到有個任務在RUNNING。?下載完成后,Maven索引就可以使用了,在搜索欄輸入要搜索的項,就可以查到相關的信息。例如spring-core




就可以檢索出它的相關信息,包括怎么配置依賴信息。我們要想使用這個私服倉庫,先在項目pom中配置相關私服信息

指定倉庫

[html] view plaincopyprint?
  • <repositories>??
  • ????????<repository>??
  • ????????????<id>nexus</id>??
  • ????????????<name>nexus</name>??
  • ????????????<url>http://192.168.1.103:8081/nexus/content/groups/public/</url>??
  • ????????????<releases>??
  • ????????????????<enabled>true</enabled>??
  • ????????????</releases>??
  • ????????????<snapshots>??
  • ????????????????<enabled>true</enabled>??
  • ????????????</snapshots>??
  • ????????</repository>??
  • ????</repositories>??
  • <repositories><repository><id>nexus</id><name>nexus</name><url>http://192.168.1.103:8081/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories>


    指定插件倉庫


    [html] view plaincopyprint?
  • <pluginRepositories>??
  • ????????<pluginRepository>??
  • ????????????<id>nexus</id>??
  • ????????????<name>nexus</name>??
  • ????????????<url>http://192.168.1.103:8081/nexus/content/groups/public/</url>??
  • ????????????<releases>??
  • ????????????????<enabled>true</enabled>??
  • ????????????</releases>??
  • ????????????<snapshots>??
  • ????????????????<enabled>true</enabled>??
  • ????????????</snapshots>??
  • ????????</pluginRepository>??
  • ????</pluginRepositories>??
  • <pluginRepositories><pluginRepository><id>nexus</id><name>nexus</name><url>http://192.168.1.103:8081/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></pluginRepository></pluginRepositories>

    這樣只有本項目才在私服下載組件
    這樣這個Maven項目構建的時候會從私服下載相關依賴。當然這個配置僅僅是在此項目中生效,對于其他項目還是不起作用。如果相對Maven的其他項目也生效的話。需要修改全局的settings.xml文件。

    修改settings.xml為



    追加激活profile

    [html] view plaincopyprint?
  • <activeProfiles>??
  • ?????????<activeProfile>central</activeProfile>??
  • ??????????
  • ??????</activeProfiles>??
  • <activeProfiles><activeProfile>central</activeProfile></activeProfiles>

    之后所有本機的Maven項目就在私服下載組件。(這樣比較好)


    項目的發布

    [html] view plaincopyprint?
  • <distributionManagement>??
  • ????????<repository>??
  • ????????????<id>user-release</id>??
  • ????????????<name>User?Project?Release</name>??
  • ????????????<url>http://192.168.1.103:8081/nexus/content/repositories/releases/</url>??
  • ????????</repository>??
  • ??
  • ????????<snapshotRepository>??
  • ????????????<id>user-snapshots</id>??
  • ????????????<name>User?Project?SNAPSHOTS</name>??
  • ????????????<url>http://192.168.1.103:8081/nexus/content/repositories/snapshots/</url>??
  • ????????</snapshotRepository>??
  • ????</distributionManagement>??
  • <distributionManagement><repository><id>user-release</id><name>User Project Release</name><url>http://192.168.1.103:8081/nexus/content/repositories/releases/</url></repository><snapshotRepository><id>user-snapshots</id><name>User Project SNAPSHOTS</name><url>http://192.168.1.103:8081/nexus/content/repositories/snapshots/</url></snapshotRepository></distributionManagement>
    注意配置了還是發布項目到私服失敗,原因為沒有權限
    配置權限在settings.xml




    然后運行發布
    clean deploy
    在控制臺發布成功
    然后進入到私服上的倉庫中,看一下確實存在剛剛發布的項目







    宿主庫——3rd party

    假如我們下載了Oracle的驅動程序jar包想給其他項目組使用,就需要上傳該jar包。選中宿主庫——3rd party,之后選擇Artifact Upload上傳至宿主空間。





    最后點擊上傳

    總結

    以上是生活随笔為你收集整理的maven--私服的搭建(Nexus的使用)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。