maven-plugin-shade详解1
- 创业
- 2025-08-16 16:21:03

maven-plugin-shade 是 Maven 的一个插件,它的作用是将多个 jar 包合并成一个 jar,同时将其中的依赖关系也合并到该 jar 中。这个插件常用于创建可执行 jar 包和打包 web 应用程序。
下面是 maven-plugin-shade 的一些常用配置:
打包的形式:可以设置打包成一个可执行的 jar 包或者一个普通的 jar 包。
排除依赖:可以设置排除某些依赖,避免重复打包。
过滤资源:可以通过配置来过滤掉一些不需要打包的资源。
重新定位依赖:如果合并后的依赖不能与原来的 jar 包兼容,可以通过重新定位的方式来解决。
转换类文件:可以对 class 文件进行转换,比如修改包名或类名等。
使用 maven-plugin-shade 打包 jar 包的步骤如下:
在 pom.xml 文件中添加 maven-shade-plugin 插件。
配置要合并的 jar 包以及排除的依赖、过滤资源等信息。
运行 Maven 命令进行打包。
示例:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.1</version> <configuration> <createDependencyReducedPom>true</createDependencyReducedPom> <shadedArtifactAttached>true</shadedArtifactAttached> <shadedClassifierName>executable</shadedClassifierName> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>${mainClass}</mainClass> </transformer> </transformers> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> </configuration> </plugin> </plugins> </build>在配置中,我们设置了要创建一个可执行的 jar 包,并指定了 mainClass。同时,我们设置了过滤规则,排除了一些不需要打包的文件。
运行 Maven 命令 mvn package 进行打包,就会在 target 目录下生成一个可执行的 jar 包。
maven-plugin-shade详解1由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“maven-plugin-shade详解1”