当你需要将本地的 JAR 文件上传到 Maven 仓库时,你需要使用 Maven 的 deploy
插件。下面是一个示例 Maven 配置文件 pom.xml
,其中包含了配置 Maven deploy 插件的部分:
<project>
<!-- 其他项目配置 -->
<distributionManagement>
<repository>
<id>internal.repo</id> <!-- 仓库标识符,需要和 settings.xml 中配置的服务器 ID 匹配 -->
<name>Internal Repository</name> <!-- 仓库名称 -->
<url>http://your-nexus-server/repository/internal</url> <!-- 仓库地址 -->
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.0.0-M1</version>
<configuration>
<skip>true</skip> <!-- 配置是否跳过部署 -->
</configuration>
</plugin>
</plugins>
</build>
</project>
需要注意的是,这个配置文件中的 <distributionManagement>
部分指定了部署目标的仓库信息,你需要根据你的实际情况修改 repository
标签下的 id
、name
和 url
。
然后,你还需要在 Maven 的 settings.xml
文件中配置服务器的认证信息,以便能够上传文件到仓库。在 <servers>
部分添加如下配置:
<settings>
<!-- 其他设置 -->
<servers>
<server>
<id>internal.repo</id> <!-- 和 pom.xml 中 distributionManagement 中的 repository id 对应 -->
<username>your-username</username> <!-- 你的 Nexus 用户名 -->
<password>your-password</password> <!-- 你的 Nexus 密码 -->
</server>
</servers>
<profile>
<id>nexus-deployment</id>
<properties>
<altDeploymentRepository>internal.repo::default::http://172.30.30.2**:8081/repository/maven-releases/</altDeploymentRepository>
</properties>
</profile>
<!-- 其他设置 -->
</settings>
在这个配置中,id
需要和 pom.xml
中的 <distributionManagement>
中指定的仓库 ID 匹配。username
和 password
是你在 Nexus 中配置的用户名和密码。
配置好这两个文件后,你就可以使用 Maven 的命令将本地的 JAR 文件上传到 Maven 仓库了。具体命令是:
mvn deploy:deploy-file -DgroupId=your-group-id -DartifactId=your-artifact-id -Dversion=your-version -Dpackaging=jar -Dfile=/path/to/your/jar/file -Durl=http://your-nexus-server/repository/internal -DrepositoryId=internal.repo
请将命令中的 your-group-id
、your-artifact-id
、your-version
替换为你的 JAR 文件的 Maven 坐标信息,/path/to/your/jar/file
替换为你的 JAR 文件的路径,http://your-nexus-server/repository/internal
替换为你的 Nexus 仓库地址,internal.repo
替换为你在 settings.xml
中配置的服务器 ID。