Maven私库安装部署
1.平台版本说明
- centos 7
- nexus-3
- JDK 8
- apache-maven-3.1.1
2.环境安装:安装nuxus maven私库之前先要安装好JDK、maven等必要环境
先安装JDK
- 下载jdk 8,去官网下载jdk8
- 解压jdk到当前目录
tar -zxvf jdk-8u91-linux-x64.tar.gz
- 配置环境变量
vim /etc/profile
添加如下内容:JAVA_HOME根据实际目录来
JAVA_HOME=/usr/java/jdk1.8.0_65
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH再安装Maven
- 下载maven
到Maven官网下载安装文件,目前最新版本为3.3.9,下载文件为apache-maven-3.3.9-bin.tar.gz,下载可以使用wget命令;
- 进入下载文件夹,找到下载的文件,运行如下命令解压
tar -xvf apache-maven-3.1.1-bin.tar.gz
- 配置环境变量
MAVEN_HOME=/usr/local/apache-maven-3.3.9
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
- 保存文件,并运行如下命令使环境变量生效
source /etc/profile
- 在控制台输入如下命令,如果能看到Maven相关版本信息,则说明Maven已经安装成功
mvn -v
3.Nexus Maven私库安装
- nexus maven下载,下载地址:https://www.sonatype.com/download-oss-sonatype,我下载的是nexus-3.13.0-01-unix.tar.gz
- 安装
linux版本无需安装,直接解压即可 tar -zxvf nexus-3.13.0-01-unix.tar.gz
- 运行
进入bin目录下,运行./nexus start,启动服务
- 开机启动
sudo ln -s /usr/local/nexus/nexus-2.14.2-01/bin/nexus /etc/init.d/nexus
使用
service nexus status/start/stop
查看nexus服务状态、启动服务、停止服务等
使用
chkconfig nexus on/off
设置nexus服务开机自启动或者开机不启动
到此私库已安装完成
要修改端口号可进入nexus-2.14.2-01-bundle\nexus-2.14.2\conf\打开nexus.properties文件,修改application-port属性值就可以了。
启动后,打开localhost:8081,nexus默认的用户名是admin/admin123
默认安装有以下这几个仓库,在控制台也可以修改远程仓库的地址,第三方仓库等。
此处java-snapshot java-release java-proxy java-group
将自己新建的3个仓库都加到java-group中,直接引用java-group即可
下面就是配置自己项目中要引用的maven配置conf/settings中
<servers>
<server>
<id>java-releases</id>
<username>admin</username>
<password>admin23</password>
</server>
<server>
<id>java-group</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>java-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
此处也可以只配置一个java-group即可
conf/settings中同时添加mirror获取的地址
<mirror>
<id> java-group </id>
<mirrorOf>*</mirrorOf>
<name>java-group </name>
<url>http://你的服务器ip:8082/repository/java-group/</url>
</mirror>
此处mirror中的id要与server的id对应
下面配置你项目中的pom设定仓库
<repositories>
<repository>
<id>java-group</id>
<name>central Repositories</name>
<url>http://你的服务器ip:8081/repository/java-group/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repositories>
Nexus3图形化工具先上传jar,再项目中pom引用测试是否可以下载
需要注意你本地电脑配置的maven环境变量与项目的一致
某些项目plugin插件如tomcat6插件pom依赖比较多,所以需要批量上传
下面提供批量上传功能
在centos用户的home目录下,新建一个文件夹repo,批量放入我们需要的本地库文件夹
新建shell脚本
脚本内容如下:
#!/bin/bash
# copy and run this script to the root of the repository directory containing files
# this script attempts to exclude uploading itself explicitly so the script name is important
# Get command line params
while getopts ":r:u:p:" opt; do
case $opt in
r) REPO_URL="$OPTARG"
;;
u) USERNAME="$OPTARG"
;;
p) PASSWORD="$OPTARG"
;;
esac
done
find . -type f -not -path './mavenimport\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;
赋予脚本可执行权限。回车运行就OK了。