Step 1: Write a setting file: wenzhe_nexus_settings.xml
, and define the <servers>
tag to specify the nexus admin user password.
<settings>
<mirrors>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://nexus-wenzhe.com:8081/nexus/content/groups/public
</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<!--Enable snapshots for the built in central repo to direct -->
<!--all requests to nexus via the mirror -->
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</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>
<activeProfiles>
<!--make the profile active all the time -->
<activeProfile>nexus</activeProfile>
</activeProfiles>
<servers>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>wenzhe</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>wenzhe</password>
</server>
</servers>
</settings>
Step 2: In your pom.xml
of the build project, add <distributionManagement>
tag to define nexus URL of release and snapshot repository.
<project>
...
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<nexus.url>http://nexus-wenzhe.com:8081/nexus</nexus.url>
</properties>
<distributionManagement>
<repository>
<id>nexus-releases</id>
<url>${nexus.url}/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<url>${nexus.url}/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>
Step 3: type the command to deploy to remote Nexus (maven private repository):
mvn clean deploy -s wenzhe_nexus_settings.xml