Nexus环境搭建
nexus是用来建立公司内部或社区内部的一个maven仓库,可以供指定用户群体使用。
下载nexus
去官网下载相应的包,有bundle版本,还有war包版本,我选择nexus-2.4.0-09-bundle.tar.gz,因为它是用jdk1.6版本编译的。如有需求,可自行到官网点我选择相应版本,我用的版本请点击下载。
配置nexus
解压nexus-2.4.0-09-bundle.tar.gz,应该获得如下目录结构:- nexus-2.4.0-09是nexus服务主目录
- sonatype-work是真正的仓库,包含了nexus的配置,如定时任务、用户配置等
- sonatype-work\nexus\storage用来存放所有jar包,可将maven的repository的jar包移植过来,就不需要重复下载jar包了
nexus配置文件为nexus-2.4.0-09\nexus.properties,
application-port指定部署端口,,
application-host指定部署IP,
根据需要自行部署
安装nexus服务
进入nexus-2.4.0-09\bin\jsw\windows-x86-64目录,执行install-nexus.bat,便会将nexus作为windows一个服务,接着执行start-nexus.bat启动nexus服务,在浏览器地址栏输入http://localhost:8090/nexus
启动成功后打开主界面如下:
nexus支持如下命令:
引用
nexus { console | start | stop | restart | status | dump }
如在linux下,进入nexus-2.4.0-09\bin目录,执行nexus start即可启动
点击右上角Log In,使用默认用户admin/admin123即可登录
maven客户端配置远程私服
nexus镜像使用步骤:打开maven的全局配置文件中(setting.xml)
1:在mirros节点添加
<mirror>
<id>nexus</id>
<name>ziwow nexus</name>
<url>http://<Your Nexus IP>/nexus/content/groups/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
2:在profiles节点添加
<profile>
<id>dev</id>
<repositories>
<repository>
<id>central</id>
<name>Public Repositories</name>
<url>http://<Your Nexus IP>/nexus/content/groups/public</url>
<layout>default</layout>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Public Repositories</name>
<url>http://<Your Nexus IP>/nexus/content/groups/public</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
3:在activeProfiles节点中添加如下节点
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
4:配置发布构件用户(如有需要)
<server>
<id>releases</id>
<username>xxxxx</username>
<password>111111</password>
</server>
<server>
<id>snapshots</id>
<username>yyyyy/username>
<password>111111</password>
</server>
5:在项目pom文件中添加以下配置
<project>
<distributionManagement>
<repository>
<id>releases</id>
<name>nexus releases</name>
<url>http://<Your Nexus IP>/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>nexus snapshot</name>
<url>http://<Your Nexus IP>/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>
6:发布jar包到nexus命令
mvn clean deploy
如需指定项目资源文件编码,将源代码发布到nexus,加入一下插件即可。
<project>
<build>
<plugins>
<!-- 指定JDK编译版本, 以及资源文件编码 -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 解决资源文件的编码问题 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 打包源代码成jar包 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<!-- jetty 插件 -->
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.8.v20121106</version>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>