​maven-shade-plugin插件怎么使用

本文讲解"​maven-shade-plugin插件如何使用",希望能够解决相关问题。

maven-shade-plugin

有时候,我们需要将所有配置文件和依赖库文件全部放在一个jar包中,运维的同事只需要执行java-jar batch.jar即可完成启动。虽然使用maven-assembly-plugin也可以做到这一点,但是在读取配置文件的时候有可能会遇到一些问题,这个时候,我们可能需要使用到maven-shade-plugin这个插件,经笔者实践按照如下示例用法配置确实可用;当然本示例配置了mainClass,直接执行java-jar batch.jar确实没问题,但如果执行java com.fastjrun.demospring4.BatchInit-classpath batch.jar也是可以的。

示例用法

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.0.0</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <finalName>batch</finalName>
                <shadedArtifactAttached>true</shadedArtifactAttached>
                <shadedClassifierName>jar-with-dependencies</shadedClassifierName>
                <transformers>
                    <transformer
                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                        <mainClass>com.fastjrun.demospring4.BatchInit</mainClass>                    </transformer>
                    <transformer
                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                        <resource>META-INF/spring.handlers</resource>
                    </transformer>
                    <transformer
                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                        <resource>META-INF/spring.schemas</resource>
                    </transformer>
                    <transformer
                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                        <resource>META-INF/spring.tooling</resource>
                    </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>
        </execution>
    </executions></plugin>

关于 "​maven-shade-plugin插件如何使用" 就介绍到此。希望多多支持编程宝库

​versions-maven-plugin插件怎么使用:本文讲解"​versions-maven-plugin插件如何使用",希望能够解决相关问题。versions-maven-plugin当项目模块化后,我们会遇到一个问题,就是项目版本 ...