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 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>

  

原文地址:https://www.cnblogs.com/sallet/p/3951009.html