成人免费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、獲取密碼

我們看到密碼可以在容器內獲?。?/p>

默認用戶是,唯一生成的密碼可以在卷內的文件中找到。有關卷的信息,請參閱持久數據。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:47:04

JavaScript運維技能

2019-08-23 08:49:05

運維正則表達式Regex

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對象代碼

2018-12-21 15:40:33

2024-04-16 13:34:26

JSONMsgpack存儲

2021-01-05 13:23:44

手機名字智能手機華為

2023-11-02 08:25:25

組件ReactUI

2019-11-18 14:45:13

代碼開發工具

2022-03-16 11:00:17

Maven倉庫Nexus

2021-11-09 08:57:13

元宇宙VR平行時空
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 特级a欧美做爰片毛片 | 亚洲国产精品网站 | 天堂中文在线播放 | 亚洲精品国产第一综合99久久 | 久操国产 | 久久久久久亚洲精品 | 久久精品久久久久久 | 欧美精品video | 黄色网址在线免费观看 | 日韩在线精品 | 久久久精品一区二区 | 国产美女一区二区 | 久久99精品久久久久久琪琪 | 欧美 日韩精品 | 日本免费黄色一级片 | 亚洲国产精品一区二区www | 亚洲欧洲一区 | 久久人| 亚洲成人一区 | 99热成人在线 | 国产精品久久久久久久免费大片 | 人人插人人 | 三级免费av | av国产精品| 午夜视频在线播放 | 亚洲一一在线 | 国产精品精品 | 日韩网站在线 | 午夜精品久久久久久久 | 免费爱爱视频 | 免费av电影网站 | 一级黄色毛片免费 | 日韩www视频 | 日韩成人专区 | 欧美电影大全 | 国产精品a久久久久 | 中文字幕日韩在线 | xxxxx黄色片 欧美一区免费 | 81精品国产乱码久久久久久 | 在线精品一区 | 精品一区二区观看 |