成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

還不會自己搭建Maven私服——Nexus3?快來學習一下吧!

開發 前端
Nexus3是一種特殊的遠程倉庫,一般部署在公司服務器或者局域網內的倉庫服務,私服代理廣域網上的遠程倉庫,供公司的Maven用戶使用。當Maven依賴需要依賴的時候,它從私服請求,如果私服上不存在依賴,則從外部的遠程倉庫下載,緩存在私服上之后,再為Maven的下載請求提供服務。

一、前言

我們在JavaWeb開發中必不可少的就是jar包管理-maven,在沒有maven之前,都是自己手動下載jar包導入到項目中,非常的繁瑣。

maven出現之后,又迎來新的問題,對于倉庫里人家發布的都可以引用下載,但是公司自己內部寫的jar包,不想讓外人看到,自己公司來回粘貼復制,非常的繁瑣,版本維護起來也是十分頭疼!

這時Nexus Repository出現了,現在主流的還是nexus3,所以今天小編帶大家一起搭建使用一下。當然公司也必須有一個自己的私服,來存放公司的技術沉淀,提高開發效率!

網上教程看了很多,但是基本都是教怎么上傳到私服,從私服拉取依賴就沒有寫!

二、介紹

官網地址:https://help.sonatype.com/repomanager3/product-information

nexus3是一種特殊的遠程倉庫,一般部署在公司服務器或者局域網內的倉庫服務,私服代理廣域網上的遠程倉庫,供公司的Maven用戶使用。

當Maven依賴需要依賴的時候,它從私服請求,如果私服上不存在依賴,則從外部的遠程倉庫下載,緩存在私服上之后,再為Maven的下載請求提供服務。

我們還可以把一些無法從外部倉庫下載到的構件上傳到私服上。

總的準則:「無論私服有沒有,我們本地都是使用私服提供的!」

三、優點

  • 引入速度提高
  • 加速Maven構建
  • 方便管理
  • 穩定性高
  • 降低中央倉庫的負荷
  • 隱私性高

四、docker構建運行

1、創建掛載目錄

mkdir /mydata/nexus/nexus-data -p

給權限:

chmod 777 /mydata/nexus/nexus-data/

2、啟動nexus

docker run -d -p 8081:8081 --name nexus -v /mydata/nexus/nexus-data:/nexus-data sonatype/nexus3

3、獲取密碼

我們看到密碼可以在容器內獲取:

默認用戶是,唯一生成的密碼可以在卷內的文件中找到。有關卷的信息,請參閱持久數據。admin admin.password

「由于我們掛載了數據文件,主要在宿主機上查看即可!」

切換到目錄:

cd /mydata/nexus/nexus-data/

查看密碼:

cat admin.password

密碼:206d5b6b-cc58-403f-af03-e5c8772a803a。

3、訪問頁面

ip+端口訪問:http://192.168.239.132:8081/。

4、登錄

用戶:admin 密碼:掛載目錄下的admin.password文件內

五、nexus配置和解釋

1、繼續初始化

2、編寫新密碼

3、配置匿名訪問

由于匿名訪問有安全性問題,在公司還是禁用為好!

4、完成

5、倉庫名稱類型

我們可以看到有三種類型:

倉庫類型

說明

proxy

代理到遠程倉庫,默認國外,可以修改為國內阿里云代理

group

存放:通過 Nexus 獲取的第三方 jar 包

hosted

存放:本團隊其他開發人員部署到 Nexus 的 jar 包

還有一些倉庫名稱:

倉庫名稱

說明

maven-central

Nexus 對 Maven 中央倉庫的代理

maven-public

Nexus 默認創建,供開發人員下載使用的組倉庫

maven-releasse

Nexus 默認創建,供開發人員部署自己 jar 包的宿主倉庫要求 releasse 版本(生產版本)

maven-snapshots

Nexus 默認創建,供開發人員部署自己 jar 包的宿主倉庫要求 snapshots 版本(測試版本)

6、調整代理地址

點擊maven-central進入詳情:

把代理地址換為阿里云的:https://maven.aliyun.com/repository/public。

往下滑到最后點擊保存!

7、新建用戶和倉庫

關于很多教程都是新建用戶和倉庫,小編這里就使用admin和自帶的倉庫了!一般的小公司夠了,公司有一定規模在新建吧!!

六、settings.xml配置

1、配置maven上傳信息

我們打開本地的settings.xml文件,把私服的地址和用戶配置上去!

<servers>
  <server>
    <id>maven-public</id>
    <username>admin</username>
    <password>123456</password>
  </server>
  <server>
    <id>maven-snapshots</id>
    <username>admin</username>
    <password>123456</password>
  </server>
  <server>
    <id>maven-releases</id>
    <username>admin</username>
    <password>123456</password>
  </server>
</servers>

2、配置從私服下載

<profiles>
    <profile>
        <id>nexus-own</id>
        <!-- 遠程倉庫列表 -->
        <repositories>
            <repository>
                <id>maven-public</id>
                <name>Nexus Central</name>
                <!-- 虛擬的URL形式,指向鏡像的URL-->
                <url>http://192.168.239.132:8081/repository/maven-public/</url>
                <layout>default</layout>
                <!-- 表示可以從這個倉庫下載releases版本的構件-->
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                    <updatePolicy>always</updatePolicy>
                </snapshots>
            </repository>
            <repository>
                <id>maven-snapshots</id>
                <name>Nexus Central</name>
                <!-- 虛擬的URL形式,指向鏡像的URL-->
                <url>http://192.168.239.132:8081/repository/maven-snapshots/</url>
                <layout>default</layout>
                <!-- 表示可以從這個倉庫下載snapshot版本的構件 -->
                <releases>
                    <enabled>false</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                    <updatePolicy>always</updatePolicy>
                </snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>maven-public</id>
                <name>Nexus Central</name>
                <url>http://192.168.239.132:8081/repository/maven-public/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </pluginRepository>
        </pluginRepositories>
    </profile>
</profiles>
<activeProfiles>
    <!--需要激活 <profile>中的ID才生效-->
    <activeProfile>nexus-own</activeProfile>
</activeProfiles>

七、springboot項目配置

1、父項目pom文件

<build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <layers>
                            <enabled>true</enabled>
                        </layers>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.10.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <parameters>true</parameters>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <!--打包上傳maven私服-->
    <distributionManagement>
        <repository>
            <!--id的名字可以任意取,但是在setting文件中的屬性<server>的ID與這里一致-->
            <id>maven-releases</id>
            <!--指向倉庫類型為host(宿主倉庫)的儲存類型為Release的倉庫-->
            <url>http://192.168.239.132:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>maven-snapshots</id>
            <url>http://192.168.239.132:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

2、deploy上傳私服

雙擊deploy,上傳私服!

3、私服查看

一共上傳了兩次,都在私服中存在!

4、私服依賴在本地引用

我們新建一個springboot項目,然后引入依賴:

要勾選Projects下面的配置,不然無法引入依賴!

5、測試使用

新項目可以使用依賴中的注解:

八、總結

經過半天的測試加編寫,終于完成,對于私服有了更深的認識!

私服是每個公司必須要有的,當然也是我們必須要掌握的,小編整理出來,方便大家學習!

優點前面都說了,這里就不多說了!

責任編輯:姜華 來源: 小王博客基地
相關推薦

2023-01-13 09:37:23

2018-07-11 15:04:16

人工智能知識圖譜

2019-08-23 08:49:05

運維正則表達式Regex

2019-08-23 08:47:04

JavaScript運維技能

2021-05-12 10:59:39

Kubernetes容器集群

2020-04-09 10:25:37

Redis分布式算法

2024-03-25 02:00:00

Vite開發

2023-03-29 23:40:24

2023-09-08 08:14:14

2020-08-06 14:03:48

戴爾

2023-06-01 08:19:19

ArrayListVector多線程

2020-09-14 06:52:42

Java對象代碼

2021-01-05 13:23:44

手機名字智能手機華為

2018-12-21 15:40:33

2024-04-16 13:34:26

JSONMsgpack存儲

2023-11-02 08:25:25

組件ReactUI

2019-11-18 14:45:13

代碼開發工具

2022-03-16 11:00:17

Maven倉庫Nexus

2010-06-21 09:08:02

Twitter宕機云計算
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天综合网永久 | 紧缚调教一区二区三区视频 | 亚洲国产成人久久综合一区,久久久国产99 | 日韩一区二区在线观看视频 | 午夜视频在线 | 成人亚洲精品久久久久软件 | 91av视频在线免费观看 | 91精品免费| 国产欧美日韩一区 | 在线欧美小视频 | 日韩中文一区二区三区 | 日本超碰在线 | 理论片免费在线观看 | 精品一区二区久久久久久久网站 | 天堂网中文字幕在线观看 | 亚洲一区 | 男女视频免费 | 91在线免费视频 | 紧缚调教一区二区三区视频 | 99精品国产一区二区青青牛奶 | 欧美激情国产日韩精品一区18 | 国产特黄一级 | 美女午夜影院 | 97视频久久 | 成人3d动漫一区二区三区91 | 久久久蜜桃 | 99精品在线观看 | 91精品国产一区二区三区香蕉 | 久久亚洲综合 | 亚洲黄色成人网 | 久热精品在线观看视频 | 久久久亚洲一区 | 美女在线国产 | 精品久久久久久亚洲精品 | 在线一区二区三区 | 国产一区二区a | 午夜免费观看体验区 | 国产91成人 | 黄色片免费看 | 国内精品视频免费观看 | 能看的av |