一、下载Nexus
http://nexus.sonatype.org/downloads
我是用的版本是 nexus-2.11.4-01-bundle.tar.gz 每个版本的配置有些许差别。
二、安装
1、安装jdk
在/etc/profile下增加
# set Java environment JAVA_HOME=/usr/share/jdk1.6.0_43 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH
2、解压缩nexus
3、检查nexus配置 nexus-2.11.4-01/bin/jsw/conf 下的 wrapper.conf
A: 保存着私服目录(没找到在哪里配置?)
B:如果没有将java配置到环境变量中还需要修改 wrapper.java.command=java 配置
4、配置启动环境变量
在/etc/profile下增加
# nexus environment export RUN_AS_USER=root
5、启动nexus
cd /home/tools/nexus/nexus-2.11.4-01/bin ./nexus start
6、关闭防火墙配置
service iptables stop
7、访问nexus
http://192.168.0.40:8081/nexus
8、登陆
admin/admin123
三、linux自启动Nexus
1、复制$NEXUS_HOME/bin/jsw/linux-x86-64/nexus 到/etc/init.d/nexus
2、授于nexus脚本有可执行的权限:
chmod 755 /etc/init.d/nexus
3、修改nexus文件,配置以下参数:
a) 修改NEXUS_HOME 绝对路径,如:NEXUS_HOME="/usr/local/nexus"
b) 设置RUN_AS_USER=nexus,或都其它的用户,前提是创建了此用户。
c) 设置java环境
NEXUS_HOME="/home/tools/nexus/nexus-2.11.4-01" export RUN_AS_USER=root # set Java environment JAVA_HOME=/home/tools/java/jdk PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH
4、Red Hat, Fedora, CentOS增加nexus服务
cd /etc/init.d chkconfig --add nexus chkconfig --levels 345 nexus on service nexus start
5、Ubuntu and Debian增加nexus服务
cd /etc/init.d update-rc.d nexus defaults chkconfig --levels 345 nexus on service nexus start
四、配置
1、同步中心库索引到本地中心库
1、单击Repositories,显示中心仓库
2、单击中心仓库,将下载远程中心库索引设置为true后单击save
3、配置后会在本地索引中看到所有index此时jar库并没有下载
2、windows中mvn设置
1、下载
http://maven.apache.org/download.html
2、配置mvn,根据实际情况配置如下三个参数
M2_HOME C:\apache-maven-3.3.3 path %M2_HOME%\bin JAVA_HOME C:\Program Files\Java\jdk1.7.0_45
3、检查mvn安装是否正确
mvn –version
4、修改settings.xml指向到私服nexus仓库
打开C:\apache-maven-3.3.3\conf\settings.xml 添加如下内容:
在<profiles></profiles>中添加
<profile> <id>nexus</id> <repositories><!--配置远程仓库--> <repository> <id>nexus</id> <name>Central Repository</name> <url>http://192.168.0.40:8081/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled><!----> </snapshots> </repository> </repositories> <pluginRepositories><!--配置Maven从什么地方下载插件构件--> <pluginRepository> <id>nexus</id> <name>Central Repository</name> <url>http://192.168.0.40:8081/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile>
在<profiles></profiles>之后添加
<activeProfiles><!--激活 远程仓库--> <activeProfile>nexus</activeProfile> </activeProfiles>
五、idea新建mvn项目
1、选择新建mavn项目后单击next
2、填写项目名称后单击next,确定本地库配置settings.xml和本地库目录后单击next
3、打开idea后在pom.xml上单击鼠标右键重新导入所需jar包
5、打开pom.xml增加spring-webmvc
<dependencies> <dependency> <groupId>spring</groupId> <artifactId>spring-webmvc</artifactId> <version>1.0.2</version> </dependency> </dependencies>
6、再次重新导入jar包,此时在linux的nexus/sonatype-work目录中看到下载的jar包
六、为本地仓库配置用户
本地仓库snapshots、releases可以使用admin账户发布,也可创建用户上传。
● Privileges(权限):为相应仓库设置权限
● Roles(角色):将一组权限生成一个角色
● Users(用户):新建用户并指定角色
1、Privileges,分别给snapshots、releases设置权限
A)新增“Repository Target Privilege”
B)填写名字仓库等信息
2、Roles,分别给snapshots、releases设置角色
A)新增Nexu Role
B)填写名字并设置相应权限
3、Users,分别给snapshots、releases设置用户
a)新增nexus user
B)填写名字及选择相应role
C)为用户设置密码
七、发布到私有仓库
1、修改settings.xml
除了按照“五、idea新建mvn项目”配置settings.xml还需要添加用户刚刚创建的仓库密码
<servers> <server> <id>snapshots</id> <username>snapshots</username> <password>Gl4Fo3Sj8Ci7Jt9Ct8Bs</password> </server> <server> <id>releases</id> <username>releases</username> <password>Gl4Fo3Sj8Ci7Jt9Ct8Bs</password> </server> </servers>
2、修改pom.xml
<version>1.0-SNAPSHOT</version> <groupId>com.lefu.common</groupId> <artifactId>page</artifactId> <name>page</name> <packaging>jar</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <distributionManagement> <repository> <id>releases</id> <name>Nexus Release Repository</name> <url>http://192.168.0.11:8081/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>snapshots</id> <name>lefu snapshots</name> <url>http://192.168.0.11:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement>
3、发布到仓库
在命令行执行如下命令
mvn clean source:jar package -Dmaven.skip.test=true -DskipTests deploy
注:
1. mvn根据version中的SNAPSHOT来判断是发布到snapshots还是releases库中
2. releases库默认不允许重新发布,在nexus中如下设置可以重新发布
八、查询jar包并在工程中引用
1、选择“Advanced search”并指定使用“classname search”查找
2、输入要搜索的包名,copy出dependency
3、将dependency加入需要调用的pom文件即可