Nexus私服搭建完成以後,接下來要做的就是在Maven項目中使用搭建的私服。
單項目配置使用私服
如果單個的項目需要配置爲使用Nexus私服,那麼需要配置的文件就是該Maven項目的pom.xml。
在項目的pom.xml中增加如下配置即可(作爲project根節點的子進行配置):
<repositories>
<repository>
<id>nexus</id>
<name>Nexus</name>
<url>http://192.168.***.***:****/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Nexus</name>
<url>http://192.168.***.***:****/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
全部項目配置使用私服
如果希望本機所有的項目都使用所搭建的Nexus私服,那麼需要修改Maven的配置文件settings.xml。
找到Maven本地倉庫下的settings.xml文件,作如下配置(對應IP和端口自行修改):
- 配置profiles節點;
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus</id>
<name>Nexus</name>
<url>http://192.168.***.***:****/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Nexus</name>
<url>http://192.168.***.***:****/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
- 配置activeProfiles節點;
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
Nexus私服完全接管構件下載請求
在做了如上的配置修改之後,目前本機的所有項目都會使用Nexus私服。但是現在Maven還是有時從Nexus下載構件,有時從中央倉庫下載構件。如果要讓Nexus私服全面接管構件下載(Nexus統一管理所有下載的構件,可以對項目組內部提速),需要做如下的配置修改。
修改的是Maven的settings.xml文件。
- 配置mirros鏡像節點;
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>Nexus</name>
<url>http://192.168.***.***:****/nexus/content/groups/public</url>
</mirror>
</mirrors>
- 配置profiles節點;
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
由於倉庫及插件倉庫配置的id都是central,所以會覆蓋超級POM中央倉庫的配置,它們的url已經無關緊要,因爲所有請求都會通過鏡像訪問私服的地址。
enjoy!