搭建Maven私服那點事

摘要:本文主要介紹在CentOS7.1下使用nexus3.6.0搭建maven私服,以及maven私服的使用(將自己的Maven項目指定到私服地址、將第三方項目jar上傳到私服供其他項目組使用)

一、簡介

  Maven是一個采用純Java編寫的開源項目管理工具, Maven采用了一種被稱之為Project Object Model(POM)概念來管理項目,所有的項目配置信息都被定義在一個叫做POM.xml的文件中, 通過該文件Maven可以管理項目的整個生命周期,包括清除、編譯,測試,報告、打包、部署等等。目前Apache下絕大多數項目都已經采用Maven進行管理. 而Maven本身還支持多種插件, 可以方便更靈活的控制項目, 開發人員的主要任務應該是關注商業邏輯并去實現它, 而不是把時間浪費在學習如何在不同的環境中去依賴jar包,項目部署等。
maven和ant都是軟件構建工具(軟件管理工具),maven比ant更加強大,已經取代了ant,jar包的聲明式依賴描述。maven有jar包的倉庫。svn是一個軟件的版本控制工具,是一個協同開發工具。svn的倉庫存放的是項目的源碼,歷史版本的備份,聲明每次版本的修改情況。

二、私服應用場景

有些公司都不提供外網給項目組人員,因此就不能使用maven訪問遠程的倉庫地址,所以很有必要在局域網里找一臺有外網權限的機器,搭建nexus私服,然后開發人員連到這臺私服上,這樣的話就可以通過這臺搭建了nexus私服的電腦訪問maven的遠程倉庫。
如果某個IP地址惡意的下載中央倉庫內容,例如全公司100臺機器使用同一個IP反復下載,這個IP(甚至是IP段)會進入黑名單,因此稍有規模的使用Maven時,應該用Nexus架設私服。總歸主要是兩點:

1、自己maven私服更容易維護,公司開發從maven私服遷出jar到本地倉庫更快

2、有些公司未開放外網給開發人員

三、部署Nexus

3.1 部署環境

3.2 配置Maven

?下載解壓

wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
tar -zxvf apache-maven-3.5.2-bin.tar.gz
mv apache-maven-3.5.2 /usr/local/maven3.5

配置環境變量

 vim /etc/profile

  在最末尾加上

#maven
MAVEN_HOME=/usr/local/maven3.5
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin

  然后再使用下面命令使配置生效

source /etc/profile

  查看是否生效

3.3 部署Nexus3.6.0

下載解壓

tar -zxvf apache-maven-3.5.2-bin.tar.gz
mv nexus-3.6.0-02 /usr/local/
cd /usr/local/nexus-3.6.0-0.2/bin

啟動

./nexus start

查看日志

到這一步,我們的nexus就算配置成功了,圖中這并不影響使用nexus

四、上傳本地jar包到maven私服

現在我們來介紹怎么把本地的maven項目jar包提交到maven私服上,供其他開發人員使用

4.1 創建一個maven倉庫

首先點擊Security>Users 創建一個用戶,我這里測試創建的用戶/密碼是:deployment/deployment,因為后面提交本地項目jar到私服倉庫會用到

然后點擊,設置>Repository>Repositories>Create repository>maven2(hosted)創建maven項目,注意Deployment policy一定要設置成allow redeploy

上面提到了我們要創建一個maven2(hosted)項目,那這里為什么是創建maven2(hosted)項目,不是創建其他的項目呢,接下來我們進行介紹respository

4.2 respository介紹

proxy:是遠程倉庫的代理。比如說在nexus中配置了一個central repository的proxy,當用戶向這個proxy請求一個artifact,這個proxy就會先在本地查找,如果找不到的話,就會從遠程倉庫下載,然后返回給用戶,相當于起到一個中轉的作用;
Hosted:是宿主倉庫,用戶可以把自己的一些構件,deploy到hosted中,也可以手工上傳構件到hosted里。比如說oracle的驅動程序,ojdbc6.jar,在central repository是獲取不到的,就需要手工上傳到hosted里;
Group:是倉庫組,在maven里沒有這個概念,是nexus特有的。目的是將上述多個倉庫聚合,對用戶暴露統一的地址,這樣用戶就不需要在pom中配置多個地址,只要統一配置group的地址就可以了右邊那個Repository Path可以點擊進去,看到倉庫中artifact列表。不過要注意瀏覽器緩存。

4.3 使用eclipse批量提交jar到maven私服

首先設本地maven的settings.xml配置問價,在servers標簽里添加用戶密碼支持

<server><id>jeecg</id><username>deployment</username><password>deployment</password>
</server>

然后再項目的pom.xml添加遠程發布的私服倉庫地址

<distributionManagement>  <repository>  <id>jeecg</id>  <name>jeecg Repository</name>  <url>http://172.16.4.166:8081/repository/jeecg/</url>  </repository>  
</distributionManagement> 

最后利用eclipse進行上傳,步驟如下圖

我們在console打印成功并在Nexus 私服上可以查看得到上傳成功,如下圖:

在nexus管理頁面查看剛剛上傳的jar包信息

至此,我們的項目jar包提交到私服完成

五、指定maven地址下載jar包到本地

上面的我們提交了jar包到maven私服,現在遷出jar包時填寫那個maven私服地址,看是否能遷出jar包

首先,將項目pom.xml文件的repositories標簽里添加上

<repository><id>jeecg</id><name>jeecg Repository</name><url>http://maven.jeecg.org/nexus/content/repositories/jeecg</url><snapshots><enabled>false</enabled>
</repository>

然后再maven的settings.xml文件中配置本地倉庫地址

 <localRepository>D:\mave_responsity</localRepository>

之后我們就可以遷出這些war包到我們配置的本地倉庫了

?

 至此,大功告成!!!

  

 

轉載于:https://www.cnblogs.com/zishengY/p/7794923.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/390889.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/390889.shtml
英文地址,請注明出處:http://en.pswp.cn/news/390889.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

lee最短路算法_Lee算法的解釋:迷宮運行并找到最短路徑

lee最短路算法Lee算法是什么&#xff1f; (What is the Lee Algorithm?) The Lee algorithm is one possible solution for maze routing problems. It always gives an optimal solution, if one exists, but is slow and requires large memory for dense layout.Lee算法是迷…

gan訓練失敗_我嘗試過(但失敗了)使用GAN來創作藝術品,但這仍然值得。

gan訓練失敗This work borrows heavily from the Pytorch DCGAN Tutorial and the NVIDA paper on progressive GANs.這項工作大量借鑒了Pytorch DCGAN教程 和 有關漸進式GAN 的 NVIDA論文 。 One area of computer vision I’ve been wanting to explore are GANs. So when m…

怎么樣實現對一個對象的深拷貝

問題&#xff1a;怎么樣實現對一個對象的深拷貝 使用深拷貝的方法有點難實現啊。要保證原來的對象和克隆對象不是共享同一個引用的步驟是什么啊&#xff1f; 回答一 一種安全的方法是先序列化對象&#xff0c;然后反序列化。這保證了所有東西都是一個新的引用。 這里有一篇…

19.7 主動模式和被動模式 19.8 添加監控主機 19.9 添加自定義模板 19.10 處理圖形中的亂碼 19.11 自動發現...

2019獨角獸企業重金招聘Python工程師標準>>> 19.7 主動模式和被動模式 ? 主動或者被動是相對客戶端來講的 ? 被動模式&#xff0c;服務端會主動連接客戶端獲取監控項目數據&#xff0c;客戶端被動地接受連接&#xff0c;并把監控信息傳遞給服務端 服務端請求以后&…

Codeforces Round #444 (Div. 2) C.Solution for Cube 模擬

向題解低頭&#xff0c;向大佬低頭(。﹏。)orz……模擬也不能亂模啊……要好好分析題意&#xff0c;簡化簡化再簡化orz敲黑板 六個面的魔方&#xff0c;能一步還原的情況一定是只有2個面是單色&#xff0c;其余四個面&#xff0c;每個面2種顏色&#xff0c;而且不會出現任意兩面…

fcc認證_介紹fCC 100:我們對2019年杰出貢獻者的年度總結

fcc認證2019 has been a big year for the global freeCodeCamp community.對于全球freeCodeCamp社區來說&#xff0c;2019年是重要的一年。 More people are answering questions on the forum. 越來越多的人在論壇上回答問題。 Our publication has several new, rising aut…

華盛頓特區與其他地區的差別_使用華盛頓特區地鐵數據確定可獲利的廣告位置...

華盛頓特區與其他地區的差別深度分析 (In-Depth Analysis) Living in Washington DC for the past 1 year, I have come to realize how WMATA metro is the lifeline of this vibrant city. The metro network is enormous and well-connected throughout the DMV area. When …

Windows平臺下kafka環境的搭建

近期在搞kafka&#xff0c;在Windows環境搭建的過程中遇到一些問題&#xff0c;把具體的流程幾下來防止后面忘了。 準備工作&#xff1a; 1.安裝jdk環境 http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.下載kafka的程序安裝包&#xff1a; http://kafk…

deeplearning.ai 改善深層神經網絡 week2 優化算法

這一周的主題是優化算法。 1. Mini-batch&#xff1a; 上一門課討論的向量化的目的是去掉for循環加速優化計算&#xff0c;X [x(1) x(2) x(3) ... x(m)]&#xff0c;X的每一個列向量x(i)是一個樣本&#xff0c;m是樣本個數。但當樣本很多時&#xff08;比如m500萬&#xff09…

gcc匯編匯編語言_什么是匯編語言?

gcc匯編匯編語言Assembly Language is the interface between higher level languages (C, Java, etc) and machine code (binary). For a compiled language, the compiler transforms higher level code into assembly language code.匯編語言是高級語言(C &#xff0c;Java等…

鋪裝s路畫法_數據管道的鋪裝之路

鋪裝s路畫法Data is a key bet for Intuit as we invest heavily in new customer experiences: a platform to connect experts anywhere in the world with customers and small business owners, a platform that connects to thousands of institutions and aggregates fin…

leetcode421. 數組中兩個數的最大異或值(貪心算法)

給你一個整數數組 nums &#xff0c;返回 nums[i] XOR nums[j] 的最大運算結果&#xff0c;其中 0 ≤ i ≤ j < n 。 進階&#xff1a;你可以在 O(n) 的時間解決這個問題嗎&#xff1f; 示例 1&#xff1a; 輸入&#xff1a;nums [3,10,5,25,2,8] 輸出&#xff1a;28 解…

IBM推全球首個5納米芯片:計劃2020年量產

IBM日前宣布&#xff0c;該公司已取得技術突破&#xff0c;利用5納米技術制造出密度更大的芯片。這種芯片可以將300億個5納米開關電路集成在指甲蓋大小的芯片上。 IBM推全球首個5納米芯片 IBM表示&#xff0c;此次使用了一種新型晶體管&#xff0c;即堆疊硅納米板&#xff0c;將…

drop sql語句_用于從表中刪除數據SQL Drop View語句

drop sql語句介紹 (Introduction) This guide covers the SQL statement for dropping (deleting) one or more view objects.本指南介紹了用于刪除(刪除)一個或多個視圖對象SQL語句。 A View is an object that presents data from one or more tables.視圖是顯示來自一個或多…

async 和 await的前世今生 (轉載)

async 和 await 出現在C# 5.0之后&#xff0c;給并行編程帶來了不少的方便&#xff0c;特別是當在MVC中的Action也變成async之后&#xff0c;有點開始什么都是async的味道了。但是這也給我們編程埋下了一些隱患&#xff0c;有時候可能會產生一些我們自己都不知道怎么產生的Bug&…

項目案例:qq數據庫管理_2小時元項目:項目管理您的數據科學學習

項目案例:qq數據庫管理Many of us are struggling to prioritize our learning as a working professional or aspiring data scientist. We’re told that we need to learn so many things that at times it can be overwhelming. Recently, I’ve felt like there could be …

react 示例_2020年的React Cheatsheet(+真實示例)

react 示例Ive put together for you an entire visual cheatsheet of all of the concepts and skills you need to master React in 2020.我為您匯總了2020年掌握React所需的所有概念和技能的完整視覺摘要。 But dont let the label cheatsheet fool you. This is more than…

leetcode 993. 二叉樹的堂兄弟節點

在二叉樹中&#xff0c;根節點位于深度 0 處&#xff0c;每個深度為 k 的節點的子節點位于深度 k1 處。 如果二叉樹的兩個節點深度相同&#xff0c;但 父節點不同 &#xff0c;則它們是一對堂兄弟節點。 我們給出了具有唯一值的二叉樹的根節點 root &#xff0c;以及樹中兩個…

Java之Set集合的怪

工作中可能用Set比較少&#xff0c;但是如果用的時候&#xff0c;出的一些問題很讓人摸不著頭腦&#xff0c;然后我就看了一下Set的底層實現&#xff0c;大吃一驚。 ###看一個問題 Map map new HashMap();map.put(1,"a");map.put(12,"ab");map.put(123,&q…

為mysql數據庫建立索引

前些時候&#xff0c;一位頗高級的程序員居然問我什么叫做索引&#xff0c;令我感到十分的驚奇&#xff0c;我想這絕不會是滄海一粟&#xff0c;因為有成千上萬的開發者&#xff08;可能大部分是使用MySQL的&#xff09;都沒有受過有關數據庫的正規培訓&#xff0c;盡管他們都為…