自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

還不會自己搭建Maven私服——Nexus3?快來學(xué)習(xí)一下吧!

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

一、前言

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

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

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

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

二、介紹

官網(wǎng)地址:https://help.sonatype.com/repomanager3/product-information

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

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

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

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

三、優(yōu)點

  • 引入速度提高
  • 加速Maven構(gòu)建
  • 方便管理
  • 穩(wěn)定性高
  • 降低中央倉庫的負(fù)荷
  • 隱私性高

四、docker構(gòu)建運行

1、創(chuàng)建掛載目錄

mkdir /mydata/nexus/nexus-data -p

給權(quán)限:

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、獲取密碼

我們看到密碼可以在容器內(nèi)獲?。?/p>

默認(rèn)用戶是,唯一生成的密碼可以在卷內(nèi)的文件中找到。有關(guān)卷的信息,請參閱持久數(shù)據(jù)。admin admin.password

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

切換到目錄:

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文件內(nèi)

五、nexus配置和解釋

1、繼續(xù)初始化

2、編寫新密碼

3、配置匿名訪問

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

4、完成

5、倉庫名稱類型

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

倉庫類型

說明

proxy

代理到遠程倉庫,默認(rèn)國外,可以修改為國內(nèi)阿里云代理

group

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

hosted

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

還有一些倉庫名稱:

倉庫名稱

說明

maven-central

Nexus 對 Maven 中央倉庫的代理

maven-public

Nexus 默認(rèn)創(chuàng)建,供開發(fā)人員下載使用的組倉庫

maven-releasse

Nexus 默認(rèn)創(chuàng)建,供開發(fā)人員部署自己 jar 包的宿主倉庫要求 releasse 版本(生產(chǎn)版本)

maven-snapshots

Nexus 默認(rèn)創(chuàng)建,供開發(fā)人員部署自己 jar 包的宿主倉庫要求 snapshots 版本(測試版本)

6、調(diào)整代理地址

點擊maven-central進入詳情:

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

往下滑到最后點擊保存!

7、新建用戶和倉庫

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

六、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版本的構(gòu)件-->
                <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版本的構(gòu)件 -->
                <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、測試使用

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

八、總結(jié)

經(jīng)過半天的測試加編寫,終于完成,對于私服有了更深的認(rèn)識!

私服是每個公司必須要有的,當(dāng)然也是我們必須要掌握的,小編整理出來,方便大家學(xué)習(xí)!

優(yōu)點前面都說了,這里就不多說了!

責(zé)任編輯:姜華 來源: 小王博客基地
相關(guān)推薦

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開發(fā)

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

代碼開發(fā)工具

2022-03-16 11:00:17

Maven倉庫Nexus

2021-11-09 08:57:13

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

51CTO技術(shù)棧公眾號