實測Maven上傳jar包到私服的方法歸納
Hello,各位小夥伴大家好,我是小棧君。好久不見,最近因為工作的緣故,導致了更新變慢,但是小棧君也在積極的做素材的規劃,畢竟學習知識點的歸納和提煉需要一定的時間。
所以還請大家多多見諒,下一期的分享主題我們依舊會圍繞著go語言系列進行。不過小棧君會盡量加快節奏。因為接下來的挑戰是對於最近關乎國家戰略有關的區塊鏈。
因為之前有幸參加了相關的一部分專案實戰,所以也想對於這一部分做一個簡單的教程系列。還請大家敬請期待哦。
閒話不多說,我們今天分享的主題就是最近在專案開發上遇到的一個簡單問題總結,就是關於maven私服的上傳jar包。因為大家都知道關於java的專案開發經歷了換代,小棧君最開始做開發的時候,使用的是最原始的jar包匯入。
就是你需要在網上將你專案中所要的jar進行下載,然後放在專案的lib目錄下,最後使用eclipse進行build。
這樣的壞處就是由於專案過大,或是專案所使用的jar包太多,導致了管理混亂,嚴重的時候,甚至會影響專案的開發。因為會導致jar衝突,或是專案版本和jar包不符。後面我們就開始使用了maven對專案jar包進行管理。
Maven的介紹
百度百科上對於maven的描述是:maven是可以通過一小段描述資訊來管理專案的構建、報告和文件的專案管理工具軟體。
它包含了一個專案物件模型 (Project Object Model),一組標準集合,一個專案生命週期(Project Lifecycle),一個依賴管理系統(Dependency Management System),和用來執行定義在生命週期階段(phase)中外掛(plugin)目標(goal)的邏輯。
當你使用Maven的時候,你用一個明確定義的專案物件模型來描述你的專案,然後Maven可以應用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)外掛。
Maven 有一個生命週期,當你執行 mvn install 的時候被呼叫。這條命令告訴 Maven 執行一系列的有序的步驟,直到到達你指定的生命週期。
遍歷生命週期旅途中的一個影響就是,Maven 運行了許多預設的外掛目標,這些目標完成了像編譯和建立一個 JAR 檔案這樣的工作。
Maven的好處
使用maven的好處當然是有很多的,第一個可以更加方便的管理專案的依賴。
所有的jar包管理上圖所示,一目瞭然,而且版本和註釋都可以寫清楚,讓開發者更加直觀、明瞭的瞭解到專案所用到的jar包和版本。
其次就是使用maven後可以結合jenkins可以實現一鍵部署,省去了中間煩惱,想比與之前的本地打包,然後上傳伺服器,接著備份和停服務,最後重啟的繁瑣步驟,maven的使用可以算的上真正的為我們開發者節約了不少的時間,提升我們的開發效率。
最後就是在大型專案的開發過程中,特別是現在很火的微服務構建中,利用maven可以最大程度的幫助我們進行模組的劃分和複用。有過手動導包開發的小夥伴們更加能夠體會到這其中的變化巨大吧。
Maven的安裝
Maven的安裝可以算的上是非常簡單的了,簡單來講的話可以分為三步走 。
第一步進行下載maven,大家可以通過官網進行下載最新的maven包。
最新的記錄是3.6.2,在需要jdk 環境的說明中有寫到,需要1.7以上的版本,而且官網也提供了編譯好的包和原始碼包供大家下載使用。
第二步就是配置環境變數
其實maven的環境變數非常簡單,首先我們看到下載好的maven專案內部是這個樣子的。
然後建立一個maven_home
最後在我們的path裡新增相應的bin檔案路徑位置即可。
第三步就是驗證 ,使用命令mvn -v 即可
最後提醒大家一點的就是maven的預設倉庫是在C盤,如果需要改變的話,只需要修改settings檔案的位置即可。
Maven上傳到私服
Maven的倉庫主要分為三種,第一種就是本地倉庫,第二種就是公司私服,第三種就是遠端倉庫。一般來講,如果是自己開發,我們只需要使用遠端映象,就可以將遠端倉庫中的jar包下載到自己的本地倉庫。
然後進行使用,但是我們公司有專門的私服。所以我們有時候就需要將某一部分共用程式碼打成jar放到私服,以便於大家使用。所以小棧君在這裡使用三種方式來給大家進行分享。
第一種方式當然是我們最簡單的視覺化介面 。這個時候我們只需要問一下運維或是管理伺服器的人員,給我們私服的一個賬號密碼和地址即可。
如圖所示,我們只需要將我們打好的jar包上傳,新增延展性、groupID 、artifactID、版本號然後上傳即可。
第二種-通過命令上傳
其實網路中有太多的人描述如何上傳jar包到私服,但是小棧君試過了,結果顯而易見的不得行,當然也不是全部都不行,只是絕大部分不可以。本著負責任的態度。所以小棧君挑選了一個正反例子給大家進行示範,當然有可能只是我不行,也可能是哪一步做錯了導致不行。
mvn deploy:deploy-file -Dfile=檔案的位置 -DgroupId=檔案groupID -Dversion=檔案的版本號 -Dpackaging=jar -Durl=http://ip地址/nexus/content/repositories/releases -DrepositoryId=releases
然後得到的結果是這樣的。
第三種也是命令的形式
這種方式經過小棧君的實測比較可靠(舉例說明),命令如下:
mvn install:install-file -Dfile=D:\\asciidoctorj-pdf-1.5.0-alpha-zh.16.jar -DgroupId=org.asciidoctor -DartifactId=asciidoctorj-pdf -Dversion=1.5.0-alpha-zh.16 -Dpackaging=jar
注意一下:這樣做的前提條件是遮蔽掉你所有的映象
然後執行命令 maven install命令
大功告成,又可以美滋滋的繼續編寫程式啦~。
好了,今天的分享就到這啦,如果你喜歡我的分享,麻煩你點選一個好看或贊,我是小棧君,不定期分享IT乾貨,包括但不限於區塊鏈、大資料、Python、go、等系列專題。希望與你共同成長。我們下期再見啦,拜了個拜~ ,歡迎大家關注哦~
本文由部落格一文多發平臺 OpenWrite 釋出!