一、下载软件包
首先去Maven官网下载安装包:http://maven.apache.org/
然后去nexus3官网下载安装包:https://www.sonatype.com/download-oss-sonatype
下载好之后
上传到centos下
二、安装配置
2.1、解压Maven
[root@localhost ~]# unzip apache-maven-3.5.2-bin.zip -d /opt/software/
2.2、设置环境变量
[root@localhost ~]# vim /etc/profile
在/etc/profile的文件末尾添加以下配置:
M2_HOME=/opt/software/apache-maven-3.5.2 JAVA_HOME=/usr/java/jdk1.8.0_151/ JRE_HOME=/usr/java/jdk1.8.0_151/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME JRE_HOME PATH CLASSPATH M2_HOME
执行source命令让新配置立即生效:
[root@localhost ~]# source /etc/profile
2.3、测试
[root@localhost ~]# mvn -v Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00) Maven home: /opt/software/apache-maven-3.5.2 Java version: 1.8.0_151,vendor: Oracle Corporation Java home: /usr/java/jdk1.8.0_151/jre Default locale: zh_CN,platform encoding: UTF-8 OS name: "linux",version: "3.10.0-693.11.1.el7.x86_64",arch: "amd64",family: "unix"
[root@localhost ~]# tar -zxvf nexus-3.7.0-04-unix.tar.gz -C /opt/software/
2.5、启动nexus3
[root@localhost ~]# cd /opt/software/nexus-3.7.0-04/bin [root@localhost bin]# ./nexus run &
------------------------------------------------- Started Sonatype Nexus OSS 3.7.0-04 -------------------------------------------------
2.6、远程访问: http://192.168.3.55:8081/
2.7、设置开机自启动
[root@localhost bin]# ln -s /opt/software/nexus-3.7.0-04/bin/nexus /etc/init.d/nexus3 [root@localhost bin]# chkconfig --add nexus3 [root@localhost bin]# chkconfig nexus3 on
2.8、修改nexus3的运行用户为root
[root@localhost bin]# vim nexus.rc
修改成如下:
run_as_user="root"
2.9、修改nexus3启动时要使用的jdk版本
[root@localhost bin]# vim nexus第14行:
NSTALL4J_JAVA_HOME_OVERRIDE=/usr/java/jdk1.8.0_151
三、使用
3.1、登录私服
点击右上角“Log in”
输入默认用户名(admin)和默认密码(admin123)登录,登录成功之后,可以点击上面的“设置”图标
1)group(仓库组类型):又叫组仓库,用于方便开发人员自己设定的仓库;
2)hosted(宿主类型):内部项目的发布仓库(内部开发人员,发布上去存放的仓库);
3)proxy(代理类型):从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage Location属性的值即被代理的远程仓库的路径);
4)virtual(虚拟类型):虚拟仓库(这个基本用不到,重点关注上面三个仓库的使用);
Nexus仓库分类的概念:
1)Maven可直接从宿主仓库下载构件,也可以从代理仓库下载构件,而代理仓库间接的从远程仓库下载并缓存构件
2)为了方便,Maven可以从仓库组下载构件,而仓库组并没有时间的内容(下图中用虚线表示,它会转向包含的宿主仓库或者代理仓库获得实际构件的内容).
3.2、上传JAR包到私服
(1)点击“Create Repositories”按钮
(2)选择要创建的类型
这里选择Maven2(hosted),Hosted是宿主机的意思,就是怎么把第三方的Jar放到私服上。
Hosted有三种方式:
Releases、SNAPSHOT、MixedReleases: 一般是已经发布的Jar包
Snapshot: 未发布的版本
Mixed:混合的
Name:就是为代理起个名字
Remote Storage: 代理的地址,Maven的地址为: https://repo1.maven.org/maven2/
Blob Store: 选择代理下载包的存放路径
注意事项:
Deployment Pollcy: 需要把策略改成“Allow redeploy”
然后点击创建仓库。创建成功之后如下:
添加到maven-public组中
双击点进去
用户名deployment,密码deployment123
repository创建完成后便是上传jar包了,在这里你必须保证你的setting文件以及正确配置并能将自己的jar发布到私服上
先配置maven server,如下:
<server> <id>maven-releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>maven-snapshots</id> <username>admin</username> <password>admin123</password> </server> <server> <id>maven-fendo</id> <username>deployment</username> <password>deployment123</password> </server>
打开cmd,上传jar包
第一种方式:直接上传jar
如果已经有了jar包,可以通过下面的命令直接上传,cmd中输入下列命令
mvn deploy:deploy-file -DgroupId=xxx.xxx -DartifactId=xxx -Dversion=0.0.2 -Dpackaging=jar -Dfile=D:\xxx.jar -Durl=http://xxx.xxx.xxx.xxx:8081/repository/3rdParty/ -DrepositoryId=3rdParty
其中-DgroupId 为上传的jar的groupId
-DartifactId 为上传的jar的artifactId
-Dversion 为上传的jar的需要被依赖的时候的版本号
然后是-Dpackaging为jar,-Dfile为jar包路径
-Durl 为要上传的路径,可以通过以下方式获取到
第二种方式:直接将项目发布到仓库中
在项目的pom.xml中加入下面的配置:
<profile> <id>central</id> <repositories> <repository> <id>central</id> <name>Nexus3</name> <url>http://192.168.3.55:8081/repository/fendo/</url> <snapshots> <enabled>true</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> </repositories> </profile>