一、什么是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/profileexport JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-2.el8.x86_64export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/binexport MAVEN_HOME=/data/tools/maven/apache-maven-3.8.1export PATH=$PATH:$MAVEN_HOME/bin[root@localhost jvm]# source /etc/profile

5.验证Maven是否装置胜利

执行命令:mvn -vApache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)Maven home: /data/tools/maven/apache-maven-3.8.1Java 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/jreDefault locale: en_US, platform encoding: UTF-8OS 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 startWARNING: ************************************************************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 --permanentsuccess[root@localhost src]# firewall-cmd --reloadsuccess

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>