Maven + Nexus 本地部署与上传完整指南
一份 完整、正确的小白指南 Markdown 文档,包括:
- 安装 JDK
- 配置 Maven
- 创建 Maven 项目和 Java 代码
- 打包
- 上传 SNAPSHOT 和 Release 到本地 Nexus
Maven + Nexus 本地部署与上传完整指南
1️⃣ 安装 JDK
确保系统安装 JDK,而不是 JRE,因为 Maven 编译需要 javac。
CentOS / RHEL
sudo yum install -y java-11-openjdk-devel
Ubuntu / Debian
sudo apt update
sudo apt install -y openjdk-11-jdk
配置环境变量
# 假设安装路径是 /usr/lib/jvm/java-11-openjdk
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH
# 验证
java -version
javac -version
2️⃣ 配置 Maven 账号
编辑用户级 settings.xml(路径:~/.m2/settings.xml):
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
<servers>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
</settings>
✅ 注意:
<servers>标签是必须的<id>必须和pom.xml<distributionManagement>中的<repository>/<snapshotRepository>一致
3️⃣ 创建 Maven 项目
mkdir -p ~/demo-app/src/main/java/com/example
cd ~/demo-app
3.1 创建 pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo-app</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Demo App</name>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<archive>
<manifest>
<mainClass>com.example.App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<distributionManagement>
<repository>
<id>nexus-releases</id>
<url>http://127.0.0.1:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<url>http://127.0.0.1:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>
3.2 创建 App.java
package com.example;
public class App {
public static void main(String[] args) {
System.out.println("Hello Maven Nexus!");
}
}
保存路径:
src/main/java/com/example/App.java
4️⃣ 编译打包
cd ~/demo-app
mvn clean package
- 成功后生成:
target/demo-app-1.0.0-SNAPSHOT.jar
5️⃣ 上传到 Nexus
5.1 上传 SNAPSHOT 版本
确保 pom.xml <version> 是:
<version>1.0.0-SNAPSHOT</version>
执行:
mvn deploy
- Maven 会自动上传到
http://127.0.0.1:8081/repository/maven-snapshots/ - 成功输出示例:
[INFO] Uploading to nexus-snapshots: http://127.0.0.1:8081/repository/maven-snapshots/com/example/demo-app/1.0.0-SNAPSHOT/demo-app-1.0.0-SNAPSHOT.jar
[INFO] BUILD SUCCESS
5.2 上传 Release 版本
- 修改版本号去掉
-SNAPSHOT:
<version>1.0.0</version>
- 执行:
mvn clean deploy
- Maven 会上传到 release 仓库:
http://127.0.0.1:8081/repository/maven-releases/com/example/demo-app/1.0.0/demo-app-1.0.0.jar
注意:release 仓库不允许覆盖已存在的版本,如果 1.0.0 已上传过,需要修改为 1.0.1 等新版本。
6️⃣ 在 Nexus 查看
- 打开浏览器访问:
http://127.0.0.1:8081 - 登录 admin(密码在
sonatype-work/nexus3/admin.password) - 菜单选择 Repositories → Browse
- 找到仓库:
maven-snapshots→ 查看 SNAPSHOT 文件maven-releases→ 查看 Release 文件
- 路径示例:
com/example/demo-app/1.0.0-SNAPSHOT/
com/example/demo-app/1.0.0/
✅ 小结
- Maven 编译必须有 JDK
- Maven deploy 需要
settings.xml配置账号,并且<id>与<distributionManagement>对应 - SNAPSHOT 和 Release 分开管理,上传不同仓库
- Nexus 上可以通过浏览器直接查看上传的 jar
这份文档就是 完整的小白流程,从环境准备、Maven 项目创建、打包,到上传到本地 Nexus 仓库。

浙公网安备 33010602011771号