欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

maven項目打包上傳到私有倉庫

 更新時間:2021年06月25日 09:51:35   作者:JAVA碼上飄  
在項目開發(fā)中通常會引用其他的jar,怎樣把自己的項目做為一個jar包的形式發(fā)布到私服倉庫中,本文就詳細的介紹一下,感興趣的可以了解一下

1. 背景

  最近有些自己制作的工具包,需要單獨抽取出來之后,在打包的時候,同時上傳到自己的maven私服倉庫,供別人引用,并且還能夠引用的時候看到源碼。但是,在上傳的過程中總是失敗不成功,特別上火。最后總算成功,記錄下步驟,希望能夠幫助到需要的人。

2. 步驟

  先說下我的要求:

  • 本地打包能夠自動上傳maven私服倉庫。
  • 別人引用后,能夠看到源碼及注釋。

2.1 修改pom.xml

2.1.1 指定上傳倉庫地址

  首先需要到自己項目里的pom.xml里添加下邊一段

 <distributionManagement>
        <repository>
            <id>releases</id>
            <url>http://maven.aaaa.com/nexus/content/repositories/thirdparty</url>
        </repository>
    </distributionManagement>

  上圖中,id后邊會說,這里的url的地址,是對應你倉庫地址,你可以在瀏覽器里訪問下類似http://maven.aaaa.com/nexus的地址,輸入賬號密碼,登錄后,如下圖4對應的地址,就是:

在這里插入圖片描述

  需要注意的是,因為上圖中,我們倉庫有好幾個,我是上傳到了3對應的倉庫,你可以根據(jù)你們實際的倉庫地址來就行。
  另外id對應的releases其實是與指定的maven配置文件conf/setttings.xml中對應,如下圖所示:

在這里插入圖片描述

  如果對應的settings.xml里沒有配置<servers>對應的標簽,那也需要添加一下。如下示例:

  <servers>
    <server>
    	<!--與2.1.1中的id值對應-->
        <id>releases</id>
        <!--賬號密碼需要與私服登錄賬號密碼一致-->
        <username>admin</username>
        <password>znxd</password>
    </server>
  </servers>

  還有,注意倉庫的賬號密碼需要正確。

2.1.2 添加源碼插件

   上邊的配置僅僅是指定倉庫的地址,因為還需要讓下載依賴的人,能夠看到源碼,因此還需要有一個插件,maven-source-plugin。再找到項目的pom.xml,添加如下插件:

<!-- 上傳源碼 -->
   <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>3.0.1</version>
        <configuration>
            <attach>true</attach>
        </configuration>
        <executions>
            <execution>
                <phase>compile</phase>
                <goals>
                    <goal>jar</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

   最后,總結一下現(xiàn)在pom.xml新增的這倆東西的位置:

<project>
	<!-----------省略多余的依賴---------->
	<build>
        <plugins>
         <!-----------省略多余的plugin---------->
         <!-- 上傳源碼 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.0.1</version>
                <configuration>
                    <attach>true</attach>
                </configuration>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <distributionManagement>
        <repository>
            <id>releases</id>
            <url>http://maven.aaaaa.com/nexus/content/repositories/thirdparty</url>
        </repository>
    </distributionManagement>
</project>

2.2 命令執(zhí)行

  配置完成了之后,就可以執(zhí)行命令了,這里可以通過兩種命令實現(xiàn),一種是開發(fā)工具idea里執(zhí)行,另一種是通過環(huán)境變量的mvn命令。

  注意,不管用下邊哪種命令,都需要先注意版本號,如果私服里存在你這個版本的包,那肯定會打包上傳不成功,可能會報錯:Return code is: 400, ReasonPhrase: Bad Request。

  因此,別忘了改下版本。如下圖所示:

在這里插入圖片描述

2.2.1 idea中執(zhí)行

  如果你的開發(fā)工具是idea,其實eclipse也一樣,建議用這種方式。
  在開發(fā)工具中,找到右側的maven project,如下圖所示:

在這里插入圖片描述

  最終的命令,其實是執(zhí)行了clean deploy。如果執(zhí)行完后出現(xiàn)大概下邊的日志,說明成功了。

[INFO] Building jar:*******
[INFO] Installing ****  to  *****
[INFO] --- ****   Uploading:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

  當然,也可以通過瀏覽器去訪問下,找下是否倉庫里有對應jar包。

2.2.2 mvn命令執(zhí)行

  如果想使用mvn命令,那就需要注意maven環(huán)境變量配置,這里不說咋配置mvn命令了,這里說下步驟和注意的地方。
  首先,打開項目所在目錄,通過`cmd打開當前目錄,如下圖所示:

在這里插入圖片描述

執(zhí)行命令如下:

mvn -s "C:\Program Files\apache-maven-3.5.011\conf\settings-154waiwang.xml" deploy

  其中 -s--settings的縮寫。

   這里我也是被坑慘了,我一直以為,因為我在配置maven環(huán)境變量的時候,指定了maven_home/m2_home,我覺得,當我使用mvn命令時,會自動使用對應的settings.xml文件進行打包,然后并不是,所以為什么上邊需要通過-s來指定下settings.xml才可以。

   如果不指定的話,會報錯Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1] ,大概是無權限的意思??磥響撌遣恢付ǖ脑?,會走一個默認的文件,因為那個文件里沒有對應的賬號密碼,因此會報錯。

2.3 成功后的依賴

   上傳成功后,可以通過地址找一下,如下圖即表示成功:

在這里插入圖片描述

3. 擴展

   比如你做這個依賴包,可能后邊還會有更新的時候,但是如果以前的依賴包已經(jīng)被別人使用,那不可能一個個的通知使用者,maven本身提供這種自動下載高版本的功能,只需要對version標簽的值改一下。如下:

<dependency>
     <groupId>com.agri</groupId>
     <artifactId>znxd-framework</artifactId>
     <version>[1.0,)</version>
 </dependency>

   其中[1.0,)表示更新從1.0版本開始的最新包。這樣有個好處就是,當你的擴展包更新成大于1.0的包時,使用人的工程里,會自動變更為最新的包。這樣你就可以在寫錯代碼的時候,偷偷的自己更新成最新的包,避免尷尬。

到此這篇關于maven項目打包上傳到私有倉庫 的文章就介紹到這了,更多相關maven打包上傳到私有倉庫 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java?ASM使用logback日志級別動態(tài)切換方案展示

    Java?ASM使用logback日志級別動態(tài)切換方案展示

    這篇文章主要介紹了Java?ASM使用logback日志級別動態(tài)切換方案展示,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04
  • Dubbo無法訪問遠程Zookeeper已注冊服務的問題解決方案

    Dubbo無法訪問遠程Zookeeper已注冊服務的問題解決方案

    今天小編就為大家分享一篇關于Dubbo無法訪問遠程Zookeeper已注冊服務的問題解決方案,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Spring?MVC?前端控制器?(DispatcherServlet)處理流程解析

    Spring?MVC?前端控制器?(DispatcherServlet)處理流程解析

    DispatcherServlet是前置控制器,配置在web.xml文件中的,這篇文章主要介紹了Spring?MVC?前端控制器?(DispatcherServlet)處理流程,需要的朋友可以參考下
    2022-05-05
  • java通過snmp協(xié)議獲取物理設備信息

    java通過snmp協(xié)議獲取物理設備信息

    這篇文章主要介紹了java通過snmp協(xié)議獲取物理設備信息,snmp中文含義是簡單網(wǎng)絡管理協(xié)議,可用完成對計算機、路由器和其他網(wǎng)絡設備的遠程管理和監(jiān)視,本文我們是通過java程序來獲取,需要的朋友可以參考下
    2023-07-07
  • 十五道tomcat面試題,為數(shù)不多的機會!

    十五道tomcat面試題,為數(shù)不多的機會!

    這篇文章主要介紹了十五道tomcat面試題,Tomcat的本質是一個Servlet容器。一個Servlet能做的事情是:處理請求資源,并為客戶端填充response對象,需要的朋友可以參考下
    2021-08-08
  • java并發(fā)編程專題(六)----淺析(JUC)Semaphore

    java并發(fā)編程專題(六)----淺析(JUC)Semaphore

    這篇文章主要介紹了java JUC)Semaphore的相關資料,文中示例代碼非常詳細,供大家參考和學習,感興趣的朋友可以了解下
    2020-07-07
  • SpringMVC上傳文件FileUpload使用方法詳解

    SpringMVC上傳文件FileUpload使用方法詳解

    這篇文章主要為大家詳細介紹了SpringMVC上傳文件FileUpload的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Spring Boot從Controller層進行單元測試的實現(xiàn)

    Spring Boot從Controller層進行單元測試的實現(xiàn)

    這篇文章主要介紹了Spring Boot從Controller層進行單元測試的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • Java設計模式之策略模式解析

    Java設計模式之策略模式解析

    這篇文章主要介紹了Java設計模式之策略模式解析,在策略模式中,一個類的行為或其算法可以在運行時更改,這種類型的設計模式屬于行為型模式,需要的朋友可以參考下
    2023-10-10
  • JavaMail入門教程之解析郵件(5)

    JavaMail入門教程之解析郵件(5)

    這篇文章主要為大家詳細介紹了JavaMail入門教程之解析郵件的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評論