Java书签 #Maven deploy上传本地/第三方jar包到私服

楔子:新冠疫情在慢慢过去,春暖花开的日子里,想必你也像花儿一样美丽。

 

1.今日书签

利用 Maven deploy,手动上传本地或者第三方 jar 包到私服,解决 Maven 项目引用/依赖外部 jar 包的问题。

 

2.春暖花开

打开CMD,或者使用 IDEA 的 Terminal,将当前位置定位到你要上传的 jar 包的文件夹,或者 -Dfile 路径设置为对应 jar 包的绝对路径,配置好 jar 包信息后执行下面的命令进行手动上传(注意红色部分要与 jar 包信息一致):

mvn deploy:deploy-file -DgroupId=com.meiwei.api -DartifactId=open-api -Dversion=1.0.3 -Dpackaging=jar -Dfile="D:\Tp_ToCloud\open-api-1.0.3-jdk7.jar" -Durl="http://maven.meiwei.com/nexus/content/repositories/releases/" -DrepositoryId=meiwei-releases

 

3.番外物语

参数说明:

命令参数含义
-DgroupId组名
-DartifactId组件ID
-Dversion版本信息
-Dpackaging组件类型 jar、pom、war ...
-Dfile

如果执行 mvn deploy 命令的位置与 jar 包在同一文件夹下,则直接写 jar 包文件名即可;

如果不在同一个目录下,则需要写 jar 包的绝对路径

-Durl仓库的位置
-DrepositoryId仓库标识ID

 

注意事项:

1)远程仓库有两种:Snapshots 和 Releases,分别为快照版仓库和稳定版仓库;需要确定我们能上传的是哪种
2)账号密码是否正确,不同仓库是否有上传权限
3)Maven 的 GAV 三要素一定要匹配且一致

### 如何使用自定义 settings 文件将本地 jar 部署到 Maven 私服 要实现通过指定的 `settings.xml` 文件将本地 JAR 上传Maven 私服,可以按照以下方法操作: #### 1. 配置自定义 `settings.xml` 文件 创建或编辑一个独立的 `settings.xml` 文件,用于存储 Maven 私服的相关认证信息。该文件应含 `<servers>` 节点来配置私服仓库的用户名和密码。 ```xml <settings> <servers> <server> <id>releases</id> <!-- 对应 pom.xml 中 distributionManagement 的 id --> <username>your-username</username> <password>your-password</password> </server> <server> <id>snapshots</id> <!-- 如果需要上传 SNAPSHOT 版本 --> <username>your-username</username> <password>your-password</password> </server> </servers> </settings> ``` 上述配置中的 `<id>` 值需与后续使用的 POM 文件中 `<distributionManagement>` 下的 `<repository>` 和/或 `<snapshotRepository>` 定义一致[^1]。 #### 2. 创建对应的 POM 文件 准备一个描述目标 JAR 元数据的 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>my-sm-basic</artifactId> <version>1.3.1</version> <packaging>jar</packaging> <distributionManagement> <repository> <id>releases</id> <url>http://your-nexus-server/repository/releases/</url> </repository> <snapshotRepository> <id>snapshots</id> <url>http://your-nexus-server/repository/snapshots/</url> </snapshotRepository> </distributionManagement> </project> ``` 这里的 `<distributionManagement>` 是关键部分,它指定了上传的目标仓库 URL 和 ID[^2]。 #### 3. 使用 `-s` 参数指定自定义设置文件 执行 Maven 命令时,可以通过 `-s` 参数显式指定自定义的 `settings.xml` 文件路径。例如: ```bash mvn deploy:deploy-file \ -Dfile=my-sm-basic-1.3.1.jar \ -DpomFile=pom.xml \ -DrepositoryId=releases \ -Durl=http://your-nexus-server/repository/releases/ \ -s /path/to/custom-settings.xml ``` 其中: - `-Dfile`: 指定待上传JAR 文件路径。 - `-DpomFile`: 指向之前创建的 POM 文件。 - `-DrepositoryId`: 应匹配 `settings.xml` 中 `<servers><server><id></id>` 的值。 - `-Durl`: 目标仓库的具体地址。 - `-s`: 显式指定自定义的 `settings.xml` 文件位置[^3]。 #### 4. 强制更新本地缓存(如果必要) 如果在 IDEA 或其他 IDE 终端发现无法识别远程仓库上的新 JAR ,则可通过如下命令强制刷新本地缓存并重新下载依赖项: ```bash mvn clean compile -U ``` 参数 `-U` 表示强制从远程仓库拉取最新版本的依赖项[^4]。 --- ### 注意事项 - 确认所用的 `settings.xml` 文件确实被当前环境加载。可运行 `mvn -v` 查看实际生效的 Maven 设置路径,并验证其是否指向预期的自定义文件。 - 若存在多版本 Maven 安装情况,请确保调用了正确的 Maven 实例及其关联的 `settings.xml` 文件。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值