最佳解决Maven同一依赖多版本共存问题,重复依赖(同一个jar包,多个版本)-maven-shade-plugin

先看链接:原文链接

参照原文链接生成的文件(下面是我放的位置)
在这里插入图片描述

mvn指令

mvn install:install-file -Dfile=D:\mavenrepository/maven-shade.jar -DgroupId=com.wj -DartifactId=maven-shade -Dversion=1.1 -Dpackaging=jar

如果配置了maven_home 和java_home可以任意打开cmd执行(我的是在apache-maven的bin下执行的)
在这里插入图片描述

-Dfile=D:\mavenrepository/maven-shade.jar 是指定重新生成的jar(放的位置)
后面指定groupId,artifactId,version,packaging
执行指令后看log最后生成的位置
在这里插入图片描述

找到这个文件看看是不是在自己项目的本地仓储中(我的就不一致,手动移动到本地仓储)
在这里插入图片描述

然后就可以在项目pom中引入,例如我的

 <dependency>
     <groupId>com.wj</groupId>
     <artifactId>maven-shade</artifactId>
     <version>1.1</version>
 </dependency>

大功告成

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven Shade插件可以将多个jar包合并成一个可执行的jar包,并且可以将合并后的jar包依赖的其他jar包也打包到该jar包中,从而实现系统依赖范围内的可执行jar包。 以下是使用Maven Shade插件生成系统依赖范围的可执行jar包的步骤: 1. 在Maven项目的pom.xml文件中,添加Maven Shade插件的依赖项: ``` <dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.4</version> </dependency> ``` 2. 在Maven项目的pom.xml文件中,配置Maven Shade插件: ``` <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.4</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <createDependencyReducedPom>false</createDependencyReducedPom> <shadedArtifactAttached>true</shadedArtifactAttached> <shadedClassifierName>jar-with-dependencies</shadedClassifierName> </configuration> </execution> </executions> </plugin> </plugins> </build> ``` 其中,`createDependencyReducedPom`指定是否创建一个简化的POM文件,`shadedArtifactAttached`指定生成的jar包是否作为附加的构件,`shadedClassifierName`指定生成的jar包的分类器名称。 3. 运行Maven项目的打包命令,生成系统依赖范围内的可执行jar包: ``` mvn package ``` 执行该命令后,Maven Shade插件会自动将项目打包成可执行的jar包,并且将该jar包依赖的其他jar包也打包到该jar包中,从而生成系统依赖范围内的可执行jar包。生成的jar包的名称一般为`<项目名称>-<版本号>-jar-with-dependencies.jar`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值