首页 > 代码库 > Maven零散笔记——配置Nexus

Maven零散笔记——配置Nexus

安装&配置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 sectionapplication-port=8081application-host=0.0.0.0nexus-webapp=${bundleBasedir}/nexusnexus-webapp-context-path=/nexus# Nexus sectionnexus-work=${bundleBasedir}/../sonatype-work/nexusruntime=${bundleBasedir}/nexus/WEB-INFpr.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>

  

Maven零散笔记——配置Nexus