最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

maven項(xiàng)目打包上傳到私有倉(cāng)庫(kù)

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

1. 背景

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

2. 步驟

  先說(shuō)下我的要求:

  • 本地打包能夠自動(dòng)上傳maven私服倉(cāng)庫(kù)。
  • 別人引用后,能夠看到源碼及注釋。

2.1 修改pom.xml

2.1.1 指定上傳倉(cāng)庫(kù)地址

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

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

  上圖中,id后邊會(huì)說(shuō),這里的url的地址,是對(duì)應(yīng)你倉(cāng)庫(kù)地址,你可以在瀏覽器里訪(fǎng)問(wèn)下類(lèi)似http://maven.aaaa.com/nexus的地址,輸入賬號(hào)密碼,登錄后,如下圖4對(duì)應(yīng)的地址,就是:

在這里插入圖片描述

  需要注意的是,因?yàn)樯蠄D中,我們倉(cāng)庫(kù)有好幾個(gè),我是上傳到了3對(duì)應(yīng)的倉(cāng)庫(kù),你可以根據(jù)你們實(shí)際的倉(cāng)庫(kù)地址來(lái)就行。
  另外id對(duì)應(yīng)的releases其實(shí)是與指定的maven配置文件conf/setttings.xml中對(duì)應(yīng),如下圖所示:

在這里插入圖片描述

  如果對(duì)應(yīng)的settings.xml里沒(méi)有配置<servers>對(duì)應(yīng)的標(biāo)簽,那也需要添加一下。如下示例:

  <servers>
    <server>
    	<!--與2.1.1中的id值對(duì)應(yīng)-->
        <id>releases</id>
        <!--賬號(hào)密碼需要與私服登錄賬號(hào)密碼一致-->
        <username>admin</username>
        <password>znxd</password>
    </server>
  </servers>

  還有,注意倉(cāng)庫(kù)的賬號(hào)密碼需要正確。

2.1.2 添加源碼插件

   上邊的配置僅僅是指定倉(cāng)庫(kù)的地址,因?yàn)檫€需要讓下載依賴(lài)的人,能夠看到源碼,因此還需要有一個(gè)插件,maven-source-plugin。再找到項(xiàng)目的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>

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

<project>
	<!-----------省略多余的依賴(lài)---------->
	<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í)行命令了,這里可以通過(guò)兩種命令實(shí)現(xiàn),一種是開(kāi)發(fā)工具idea里執(zhí)行,另一種是通過(guò)環(huán)境變量的mvn命令。

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

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

在這里插入圖片描述

2.2.1 idea中執(zhí)行

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

在這里插入圖片描述

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

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

  當(dāng)然,也可以通過(guò)瀏覽器去訪(fǎng)問(wèn)下,找下是否倉(cāng)庫(kù)里有對(duì)應(yīng)jar包。

2.2.2 mvn命令執(zhí)行

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

在這里插入圖片描述

執(zhí)行命令如下:

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

  其中 -s--settings的縮寫(xiě)。

   這里我也是被坑慘了,我一直以為,因?yàn)槲以谂渲?code>maven環(huán)境變量的時(shí)候,指定了maven_home/m2_home,我覺(jué)得,當(dāng)我使用mvn命令時(shí),會(huì)自動(dòng)使用對(duì)應(yīng)的settings.xml文件進(jìn)行打包,然后并不是,所以為什么上邊需要通過(guò)-s來(lái)指定下settings.xml才可以。

   如果不指定的話(huà),會(huì)報(bào)錯(cuò)Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1] ,大概是無(wú)權(quán)限的意思。看來(lái)應(yīng)該是不指定的話(huà),會(huì)走一個(gè)默認(rèn)的文件,因?yàn)槟莻€(gè)文件里沒(méi)有對(duì)應(yīng)的賬號(hào)密碼,因此會(huì)報(bào)錯(cuò)。

2.3 成功后的依賴(lài)

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

在這里插入圖片描述

3. 擴(kuò)展

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

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

   其中[1.0,)表示更新從1.0版本開(kāi)始的最新包。這樣有個(gè)好處就是,當(dāng)你的擴(kuò)展包更新成大于1.0的包時(shí),使用人的工程里,會(huì)自動(dòng)變更為最新的包。這樣你就可以在寫(xiě)錯(cuò)代碼的時(shí)候,偷偷的自己更新成最新的包,避免尷尬。

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

相關(guān)文章

  • 詳解Java中CountDownLatch異步轉(zhuǎn)同步工具類(lèi)

    詳解Java中CountDownLatch異步轉(zhuǎn)同步工具類(lèi)

    今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著CountDownLatch異步轉(zhuǎn)同步工具類(lèi)展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java異常 Exception類(lèi)及其子類(lèi)(實(shí)例講解)

    Java異常 Exception類(lèi)及其子類(lèi)(實(shí)例講解)

    下面小編就為大家?guī)?lái)一篇Java異常 Exception類(lèi)及其子類(lèi)(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • 使用Java發(fā)送郵件到QQ郵箱的完整指南

    使用Java發(fā)送郵件到QQ郵箱的完整指南

    在現(xiàn)代軟件開(kāi)發(fā)中,郵件發(fā)送功能是一個(gè)常見(jiàn)的需求,無(wú)論是用戶(hù)注冊(cè)驗(yàn)證、密碼重置,還是系統(tǒng)通知,郵件都是一種重要的通信方式,本文將詳細(xì)介紹如何使用Java編寫(xiě)程序,實(shí)現(xiàn)發(fā)送郵件到QQ郵箱的功能,需要的朋友可以參考下
    2025-03-03
  • 基于Spring接口集成Caffeine+Redis兩級(jí)緩存

    基于Spring接口集成Caffeine+Redis兩級(jí)緩存

    這篇文章主要介紹了基于Spring接口集成Caffeine+Redis兩級(jí)緩存,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • Java內(nèi)存映射 大文件輕松處理

    Java內(nèi)存映射 大文件輕松處理

    這篇文章主要介紹了Java內(nèi)存映射 大文件輕松處理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 每日六道java新手入門(mén)面試題,通往自由的道路--JVM

    每日六道java新手入門(mén)面試題,通往自由的道路--JVM

    這篇文章主要為大家分享了最有價(jià)值的6道JVM面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,對(duì)hashCode方法的設(shè)計(jì)、垃圾收集的堆和代進(jìn)行剖析,感興趣的小伙伴們可以參考一下
    2021-06-06
  • springBoot使用openfeign來(lái)遠(yuǎn)程調(diào)用的實(shí)現(xiàn)

    springBoot使用openfeign來(lái)遠(yuǎn)程調(diào)用的實(shí)現(xiàn)

    這篇文章主要介紹了springBoot使用openfeign來(lái)遠(yuǎn)程調(diào)用的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Mybatis批量更新對(duì)象數(shù)據(jù)的兩種實(shí)現(xiàn)方式

    Mybatis批量更新對(duì)象數(shù)據(jù)的兩種實(shí)現(xiàn)方式

    這篇文章主要介紹了Mybatis批量更新對(duì)象數(shù)據(jù)的兩種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Maven項(xiàng)目外部jar包導(dǎo)入的實(shí)現(xiàn)示例

    Maven項(xiàng)目外部jar包導(dǎo)入的實(shí)現(xiàn)示例

    在Maven項(xiàng)目里,我們經(jīng)常需要導(dǎo)入jar包依賴(lài),本文主要介紹了Maven項(xiàng)目外部jar包導(dǎo)入的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • java poi解析word的方法

    java poi解析word的方法

    這篇文章主要為大家詳細(xì)介紹了java poi解析word的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評(píng)論

阿克| 康定县| 呼和浩特市| 罗源县| 长兴县| 二连浩特市| 克拉玛依市| 寿光市| 同江市| 安多县| 简阳市| 凤冈县| 夏邑县| 武清区| 常州市| 五莲县| 潼关县| 灵丘县| 沅陵县| 封开县| 雷州市| 蒙阴县| 托克逊县| 车致| 桂东县| 佛坪县| 双流县| 湖口县| 武安市| 宜阳县| 凭祥市| 彝良县| 河南省| 堆龙德庆县| 印江| 德州市| 平谷区| 东海县| 东宁县| 北安市| 巴林右旗|