maven本地安装jar包install-file,解决没有pom的问题

背景:

公司因为权限问题,没有所有的代码,内部maven还在搭建,所以需要拿到同事的jar包,本地install:

复制代码
mvn install:install-file -DgroupId=com..framework -DartifactId=cloud-api -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar  -Dfile=C:\develop\workspace\20Src\common\lib\common\api-1.0.0-SNAPSHOT.jar

执行后,工程中可以调用到这个jar包的class,但是这个jar包的传递依赖却没有,导致编译的时候报错。

预期的情况,jar包应该包含依赖传递:

不正常情况:

查看了下C:\Users\用户\.m2\repository下生成文件,发现生成的pom(cloud-api-1.0.0-SNAPSHOT.pom)长这样:

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.framework</groupId>
  <artifactId>cloud-api</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <description>POM was created from install:install-file</description>
</project>

说明没有成功。

通过查找,找到这篇文章将 JAR 安装到存储库时,Maven 不读取 POM | 那些遇到过的问题

发现需要指定pom:

复制代码
mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file  -Dfile=C:\common\cloud-core-1.0.0-SNAPSHOT.jar

执行后pom文件依然没有变化,

根据文章内容,说明2.5.2应该是有bug。

最终找到这篇文章:https://maven.apache.org/plugins/maven-install-plugin/examples/custom-pom-installation.html

改成:

复制代码
mvn org.apache.maven.plugins:maven-install-plugin:3.1.1:install-file  -Dfile=C:\common\cloud-core-1.0.0-SNAPSHOT.jar

这里说明是如果有自定义的pom,可以通过-DpomFile=指定。

如果没有,会自动使用jar包内的pom

相关推荐
skywalker_1138 分钟前
Maven速通
java·maven
木头程序员16 小时前
SSM框架学习笔记
java·开发语言·mysql·spring·maven
江华森1 天前
Git + Maven Java 项目部署实战全指南
运维·笔记·git·学习·maven
霸道流氓气质1 天前
Maven 批处理脚本与 Qoder 配置使用指南
java·maven
蹉跎岁月新3 天前
Jenkins创建一个maven-project
运维·jenkins·maven
MaCa .BaKa3 天前
56-非遗手工艺品定制平台系统
java·vue.js·spring boot·mysql·maven·非遗手工制作平台系统·非遗制作
weixin_489690024 天前
【IDEA 2025.2.4】 Maven 仅能手动 Reload All Maven Projects 问题解决
java·maven·intellij-idea
MaCa .BaKa4 天前
55-宠物爱心救助领养系统-宠物救助领养系统
java·vue.js·tomcat·maven·springboot·宠物救助领养系统
摇滚侠4 天前
我把一个依赖安装到了本地仓库,但是IDEA 刷新 maven 提示远程私服仓库找不到,怎么解决
java·maven·intellij-idea
霸道流氓气质4 天前
在Qoder中指定JDK和Maven运行AI学习的SpringBoot项目的完整指南
java·人工智能·maven