乐趣区

关于maven:史上最全部署Nexus

一、什么是 Maven 私服

​私服是指公有服务器,是架设在局域网的一种非凡的近程仓库,目标是代理近程仓库及部署第三方构建。有了私服之后,当 Maven 须要下载构件时,间接申请私服,私服上存在则下载到本地仓库;否则,私服申请内部的近程仓库,将构件下载到私服,再提供给本地仓库下载

二、Maven 装置

1. 下载地址

http://maven.apache.org/download.cgi

2. 服务器装置 jdk 环境

肯定要依照 Jdk 而不是 jre

yum install java-1.8.0-openjdk-devel.x86_64

参考:https://www.cnblogs.com/yaun1498078591/p/10368884.html

3. 装置 Maven

3. 装置 Maven
[root@localhost ~]# cd /data/tools/maven
[root@localhost src]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz
[root@localhost src]# tar -zxvf apache-maven-3.8.1-bin.tar.gz

4. 配置零碎环境变量

[root@localhost jvm]# vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-2.el8.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

export MAVEN_HOME=/data/tools/maven/apache-maven-3.8.1
export PATH=$PATH:$MAVEN_HOME/bin
[root@localhost jvm]# source /etc/profile

5. 验证 Maven 是否装置胜利

执行命令:mvn -v
Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)
Maven home: /data/tools/maven/apache-maven-3.8.1
Java version: 1.8.0_292, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-2.el8.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.18.0-301.1.el8.x86_64", arch: "amd64", family: "unix"

三、装置 Nexus

1. 下载地址

https://www.sonatype.com/download-oss-sonatype

2. 源码装置

[root@localhost jvm]# cd /data/tools/maven/
[root@localhost src]# wget https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-3.11.0-01-unix.tar.gz
[root@localhost src]# tar -zxvf nexus-3.11.0-01-unix.tar.gz
[root@localhost src]# mv nexus-3.11.0-01 /usr/local/nexus

3. 启动 nexus

默认端口 8081,如果要批改端口能够在 etc/nexus-default.properties 配置中批改
启动:

[root@localhost src]# /data/tools/maven/nexus-3.11.0-01/bin/nexus start
WARNING: ************************************************************
WARNING: Detected execution as "root" user.  This is NOT recommended!
 WARNING: ************************************************************
 Starting nexus

下面在启动过程中呈现正告:不举荐应用 root 用户启动,创个新用户就行。这个正告不影响 nexus 的失常拜访和应用。

4. 凋谢 8081 端口

[root@localhost src]# firewall-cmd --add-port=8081/tcp --permanent
success
[root@localhost src]# firewall-cmd --reload
success

5. 浏览器拜访


这就把 nexus 服务搭建好了,默认管理员账号密码是 admin/admin123

参考链接:https://my.oschina.net/u/2963821/blog/1806035

三、我的项目中配置应用

1. 在开发代码电脑配置 maven

本地写代码电脑的 maven 配置 settings.xml 配置如下:

<servers>    
      <server>
        <id>usr-releases</id>
        <username>admin</username>
        <password>admin123</password>
      </server>
      <server>
          <id>usr-snapshots</id>
          <username>admin</username>
          <password>admin123</password>
      </server>   
 </servers>
 
 ......
<profiles> 
   <profile>
      <id>usr-private-repo</id>
      <repositories>
          <repository>
              <id>usr-releases</id>
              <url>http://192.168.0.80:9001/repository/maven-releases/</url>
              <releases>
                  <enabled>true</enabled>
              </releases>
              <snapshots>
                <enabled>false</enabled>
              </snapshots>
          </repository>
          <repository>
              <id>usr-snapshots</id>
              <url>http://192.168.0.80:9001/repository/maven-snapshots/</url>
              <releases>
                  <enabled>false</enabled>
              </releases>
              <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
              </snapshots>
          </repository>
      </repositories>
    </profile>
</profiles>  

......

<activeProfiles>
    <activeProfile>usr-private-repo</activeProfile>
</activeProfiles>

2. 在我的项目的 Pom 文件配置 distributionManagement,deploy 时这样能力将打的 jar 包上传到私服

<distributionManagement>
        <!--pom.xml 这里 <id> 和 settings.xml 配置 <id> 对应  -->
        <repository>
            <id>usr-releases</id>
            <url>http://192.168.0.80:9001/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>usr-snapshots</id>
            <url>http://192.168.0.80:9001/repository/maven-snapshots/</url>
        </snapshotRepository>
</distributionManagement>
退出移动版