系统CentOS 6.x:
- 从官网下载最新开源版的压缩包,比如我这里是nexus-2.12.1-01-bundle.tar.gz,保存在 /usr/local/ 目录下
- 解压,并且制作软链接:123wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.12.1-01-bundle.tar.gztar zxvf nexus-2.12.1-01-bundle.tar.gzln -s /usr/local/nexus-2.12.1-01 /usr/local/nexus
nexus内置以Jetty启动,默认端口为8081,如果冲突了要修改端口,编辑 conf/nexus.properties 文件,找到 application-port=8081 这一行,改为 application-port=9037
因为我是以root身份操作系统的,故要修改 bin/nexus 文件,找到 #RUN_AS_USER= 这一行,在下面添加 RUN_AS_USER=root
- 修改 bin/jsw/conf/wrapper.conf 文件,改变java命令路径,找到 wrapper.java.command=java 这一行,改为 wrapper.java.command=/usr/local/jdk/bin/java(具体跟你自己的jdk位置有关)(PS:系统配置了java环境变量可以不用修改此项)。
制作服务。直接通过软链接即可:
1ln -s /usr/local/nexus/bin/nexus /etc/init.d/nexus至此,nexus做成服务并开机启动就大功告成了。
启动nexus私服
|
|
本地项目配置引用私服
- 在项目的 pom.xml 中配置私库地址,pom.xml 的下面添加:12345678<!-- 私有仓库 --><repositories><repository><id>public</id> <!--这个ID需要与你的组group ID一致--><name>Public Repository</name><url>http://192.168.19.130:8081/nexus/content/groups/public</url></repository></repositories>
打包发布
在项目的 pom.xml 中配置私库地址,pom.xml 的下面添加:
123456789101112<!-- 打包发布 --><distributionManagement><repository><id>releases</id><!--这个ID需要与你的release仓库的Repository ID一致--><url>http://192.168.19.130:8081/nexus/content/repositories/releases</url></repository><snapshotRepository><id>snapshots</id><!--这个ID需要与你的snapshots仓库的Repository ID一致--><url>http://192.168.19.130:8081/nexus/content/repositories/snapshots</url></snapshotRepository></distributionManagement>在 maven 的 settings.xml 中配置 server 账户信息:
123456789101112<servers><server><id>releases</id><username>deployment</username><password>dev123</password><!--这个密码就是你设置的密码--></server><server><id>snapshots</id><username>deployment</username><password>dev123</password><!--这个密码就是你设置的密码--></server></servers>配置完成后使用
bash mvn deploy
即可发布到nexus私服中。
需要说明一点:
当pom.xml中同时配置了releases仓库和snapshots仓库时。
pom.xml文件开头的版本配置1.0.0-SNAPSHOT为build到snapshots库,
pom.xml文件开头的版本配置1.0.0 (不带-SNAPSHOT) 的会build到releases库,
如果只配置了releases库而版本号写的是带-SNAPSHOT的,build到最后一步会报400错误,因为它找不到对应的库。