`

Maven零散笔记——配置Nexus

阅读更多
应朋友需要,整理Nexus相关资料,做一些简要整理,方便他人!


相关链接:
Maven零散笔记——常用配置
Maven零散笔记——配置Nexus


Nexus用于建立本地MVN仓库,我就不在这里罗嗦了。
当前的版本为2.0.6,可以直接下载tar包,解压后进行简单配置就可以使用了!

安装&配置Nexus
闲言少叙,命令走起~
#下载
wget http://www.sonatype.org/downloads/nexus-2.0.6-bundle.tar.gz

#解压
tar zxvf nexus-2.0.6-bundle.tar.gz

#做软链接,方便操作,应个人需要
ln -s nexus-2.0.6 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

注:最好现在就修改管理员密码!,nexus已经做得很人性化了,我就介绍如何修改密码了!

通常可以在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>


应该够用了!

相关链接:
Maven零散笔记——常用配置
Maven零散笔记——配置Nexus
7
13
分享到:
评论
4 楼 quasimodo_es 2013-06-07  
请问,我通过mvn:deploy后的jar包,在其他项目中down不下来,打包的时候总是报错,这个是什么原因呢,
3 楼 娜迦海妖 2012-12-28  
写的挺详细的
2 楼 悠哉游哉 2012-08-09  
   谢谢!!
1 楼 mlc880926 2012-07-25  
正好用的上

相关推荐

Global site tag (gtag.js) - Google Analytics