为了解决这个问题,我们可以使用Maven的shade插件来创建一个包含所有依赖项的“超级”JAR文件,并对某些包进行重命名以避免冲突。首先,你需要在pom.xml文件中添加maven-shade-plugin插件。以下是一个示例配置: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin...
这里用fastjson来模拟使用maven-shade-plugin解决项目中不同版本共存问题。原项目此时使用的是1.1.15版本的fastjson <!-- 原项目 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.15</version> </dependency> 1. 2. 3. 4. 5. 6. 假引入一个三方依赖,...
maven-plugin-shade 必须和 Maven 构建生命周期中的 package 阶段绑定。 也就是说,当执行 mvn package 时会自动触发 shade。 要使用 maven-shade-plugin,只需要在 pom.xml 的<plugins> 标签下添加它的配置即可,示例如下: <project> //... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</...
第一步:安装Maven Shade Plugin 在使用Maven Shade Plugin之前,首先需要在你的项目中正确安装并配置该插件。你可以在项目的pom.xml文件中添加以下插件配置代码来实现安装: xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2...
通过使用maven-shade-plugin插件进行 Maven 的打包操作,可以将项目中的依赖一同添加到最终的项目 Jar 包内,maven-shade-plugin插件有两个目标,我们要学习的是插件的shade目标,建议使用时与 Maven 生命周期的package阶段绑定 这中打包后带依赖的 Jar 包一般称为uper-jar或fat-jar ...
【摘要】 maven-assembly-plugin和maven-shade-plugin 使用 一、maven-assembly-plugin 1. 插件功能 maven-assembly-plugin 它是maven中针对打包任务而提供的标准插件,可以具体指定该包的类型,包里面包含哪些内容等。 官网地址:http://maven.apache.org/plugins/maven-assembly-plugin/ ...
我们需要看一下maven-shade-plugin 的源码。 总的来说就是使用asm,我们找到相关的RelocatorRemapper: // org/apache/maven/plugins/shade/DefaultShader.java#L564staticclassRelocatorRemapperextends Remapper{privatefinalPatternclassPattern=Pattern.compile("(\\[*)?L(.+);");List<Relocator>relocators;RelocatorRema...
maven-shade-plugin插件可以配置自动精简那些项目没有用到的依赖的artifact,或者显式的配置精简项目用到的依赖的artifact下面没有用到的classes。 <project>...<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.1</version><executions...
所以一般推荐使用另外的一个插件来进行打包,插件名称为:maven-shade-plugin,shade插件打包时在对spring.schemas文件处理上,它能够将所有jar里的spring.schemas文件进行合并,在最终生成的单一jar包里,spring.schemas包含了所有出现过的版本的集合,要使用shade插件,必须在pom进行如下配置: ...
/jira/browse/MASSEMBLY-360 解决方案:使用maven-shade-plugin插件进行打包。...显然,mybatis-spring.jar中的spring.schemas定义的命名空间与spring-context.jar中spring.schemas定义的命名空间是不同的。...场景一: 在Maven多模块化项目中,可以使用maven-dependency-plugin将被依赖模块jar文件中class文件提取出来...