安装&配置Nexus
解压后,应该获得如下目录结构:
- nexus-2.0.6是nexus服务主目录
- sonatype-work是真正的仓库,同时包含了nexus的配置,如定时任务、用户配置等
nexus支持如下命令:
引用
nexus { console | start | stop | restart | status | dump }
端口配置在nexus/conf/nexus.properties文件中,文件如下:
# Sonatype Nexus # ============== # This is the most basic configuration of Nexus. # Jetty section application-port=8081 application-host=0.0.0.0 nexus-webapp=${bundleBasedir}/nexus nexus-webapp-context-path=/nexus # Nexus section nexus-work=${bundleBasedir}/../sonatype-work/nexus runtime=${bundleBasedir}/nexus/WEB-INF pr.encryptor.publicKeyPath=/apr/public-key.txt
如果你需要修改nexus服务端口或IP,上面这段修改就是了。
启动后,如下界面:
默认管理员帐号:
用户名:admin
密码:admin123
通常可以在maven工具里找到的包,也可以在这里找到:
定制任务
当然,为了让你的nexus更加智能,需要做一些定时任务,譬如定期下载索引,加快本地mvn检索速度。
以建立定期下载索引为例,在Administration选项中找到Scheduled Tasks,在窗口页面点击Add,进行配置:
除此之外,我还经常要添加一些额外的jar到nexus中,譬如我要追加BC的组件包到nexus中,供团队其他开发成员使用。
找到View/Repositories,打开Repositories窗口,选择3rd party,进行如下配置:
之后,就可以在这里找到该jar了:
私服配置
为了让你的maven默认访问你的私服,需要配置settings.xml:
<mirrors> ... <mirror> <id>nexus</id> <mirrorOf>*</mirrorOf> <name>Nexus Mirror</name> <url>http://<Your Nexus IP>/nexus/content/groups/public</url> </mirror> ... </mirrors> ... <profiles> <profile> <id>nexus</id> <repositories> <repository> <id>nexus</id> <name>local private nexus</name> <url><Your Nexus IP>/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>nexus</id> <name>local private nexus</name> <url>http://<Your Nexus IP>/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>local private nexus</name> <url>http://<Your Nexus IP>/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> <pluginRepository> <id>nexus</id> <name>local private nexus</name> <url>http://<Your Nexus IP>/nexus/content/groups/public-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> ... <activeProfiles> <activeProfile>nexus</activeProfile> </activeProfiles>
将jar部署至Nexus
如果通过Eclipse Maven工具,或者直接操作Maven命令行,将jar部署至nexus:
pom.xml
<project> ... <distributionManagement> <repository> <id>nexus-releases</id> <name>Nexus Release Repository</name> <url>http://<Your Nexus IP>/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Nexus Snapshot Repository</name> <url>http://<Your Nexus IP>/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement> ... </project>
settings.xml
<settings> ... <servers> <server> <id>nexus-releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>nexus-snapshots</id> <username>admin</username> <password>admin123</password> </server> </servers> ... </settings>
最后,在项目目录中执行mvn deploy
如果想要在发布jar的同时,把source一通发布,需要做这个配置:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin>