Maven私服的搭建!
u 安装环境准备
n Centos 6.4 64位
n JDK 1.8
n nexus-2.12.0-01-bundle.tar.gz
u 安装JDK1.8:
n 解压tar -zxvf jdk-8u231-linux-x64.tar.gz
n 设置环境变量: vi /etc/profile
export JAVA_HOME= /usr/local/java/jdk1.8.0_231 export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
:wq保存文件
执行 source /etc/profile,使用配置生效
n 使用 java -version 查看jdk是否安装成功
u 安装配置
n 解压tar(解压到 /usr/local)
tar -zxvf nexus-2.12.0-01-bundle.tar.gz
n 配置文件: /usr/local/nexus/nexus-2.12.0-01/conf/nexus.properties
u 启动
n ./usr/local/nexus2.12/nexus-2.12.0-01/bin/nexus start
n 注意:配置/usr/local/nexus/nexus-2.12.0-01/bin/nexus (RUN_AS_USER=root)
n 默认端口:8081
n 开放端口:vim /etc/sysconfig/iptables
n 重启:service iptables restart
n 默认用户名/密码:admin/admin123
n 访问:http://服务器IP:8081/nexus/
u 更新Nexus索引
n 开启远程索引
n Central Repository
l Download Remote Indexes:True
n 在/usr/local/nexus 新建index文件夹,把
上传过去。
n 运行indexer-cli-5.1.0.jar,命令:
java -jar indexer-cli-5.1.0.jar -u nexus-maven-repository-index.gz -d indexer
u nexus里可以配置3种类型的仓库,分别是proxy、hosted、group
n proxy是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用。
n hosted是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里。
n group是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了。
u nexus常用的仓库:
n 3rd party:第三方的jar
n Releases:发布仓库
n Snapshots:快照仓库(常用)
注:snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本。定义一个组件/模块为快照版本,只需要在pom文件中在该模块的版本号后加上-SNAPSHOT即可(注意这里必须是大写)
u 3rd party:将maven仓库中没有构件的jar包上传到服务器;将第三方的jar上传到nexus上面:
u 自动发布构件到远程仓库
n 在settings.xml添加<servers><server></server></servers>
n 在pom.xml添加发布仓库
n mvn:deploy
注:Releases库,需要将项目版本改成发布版本,在pom.xml中0.0.1-SNAPSHOT去掉-SNAPSHOT,改为0.0.1
n
u 从Nexus下载构件
n 配置maven镜像(setting.xml)
n 配置maven私服(pom.xml: 只对当前的Maven项目有效)
n 配置profile元素(setting.xml: 对本机所有Maven项目有效)
n 在pom.xml添加依赖:
n