在使用maven进行Java项目的开发过程中,难免会有些公共的私有库,这些库是不太方便放到中央仓库的,可以通过Nexus搭建一个私有仓库。
通过下载安装包nexus-3.47.1-01-unix.tar.gz。
Nexus安装非常简单,只需要解压就可以了。假设安装目录为/opt/software/nexus
tar zxvf nexus-3.47.1-01-unix.tar.gz
解压之后,在/opt/software/nexus目录下,有2个目录:
执行如下命令,启动nexus:
nexus-3.47.1-01/bin/nexus start
启动之后,就可以使用。默认访问地址为:http://localhost:8081/
执行启动命令,找不到jdk。
No suitable Java Virtual Machine could be found on your system.
The version of the JVM must be 1.8.
Please define INSTALL4J_JAVA_HOME to point to a suitable JVM.
由于Nexus只支持Java8,如果机器上的JDK版本高于8,则需要另外安装下Java8,并通过配置环境变量INSTALL4J_JAVA_HOME来解决。环境变量如下:
# INSTALL4J_JAVA_HOME是Java8的JAVA_HOME
export INSTALL4J_JAVA_HOME='/opt/jdk1.8.0_202'
确认下,服务器是否开启了防火墙
Nexus的默认密码放在${HOME}/sonatype-work/nexus/admin.password文件里,我的就是/opt/software/nexus/sonatype-work/nexus/admin.password,通过如下命令,拿到密码就可以登录了
cat /opt/software/nexus/sonatype-work/nexus/admin.password
在需要下载私包的pom文件内,配置私服地址就可以了,具体如下:
raina-releases default releases http://{$IP}:8081/nexus/content/repositories/releases
在Maven的settings.xml里(一般路径为:${MVN_HOME}/conf/settings.xml),添加如下配置:
customNexus admin admin123
在待发布的项目pom.xml添加如下配置:
customNexus custom Nexus Release Repository http://{$IP}:8081/repository/maven-releases/ default
执行如下命令,则可以将私包发布到私服了:
mvn clean deploy
如果包无法delopy,可以修改仓库策略:
