用Maven插件将应用打成一个jar包

maven-assembly-plugin

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.1.0</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <!--指定运行时的类-->
                <mainClass>com.st.main.ParserEcTopology</mainClass>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

maven-shade-plugin

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>2.3</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <!-- For convenience, the syntax groupId is equivalent to groupId:*:*:*,
            groupId:artifactId is equivalent to groupId:artifactId:*:* and groupId:artifactId:classifier
            is equivalent to groupId:artifactId:*:classifier. -->
        <artifactSet>
            <excludes>
                <exclude>org.apache.storm:storm-core:*</exclude>
                <exclude>com.esotericsoftware:kryo:*</exclude>
                <exclude>com.esotericsoftware:reflectasm:*</exclude>
                <exclude>com.esotericsoftware:minlog:*</exclude>
                <exclude>org.ow2.asm:asm:*</exclude>
                <exclude>org.objenesis:objenesis:*</exclude>
                <!-- <exclude>ring-cors:ring-cors:*</exclude> -->
                <exclude>org.clojure:clojure:*</exclude>
                <exclude>com.lmax:disruptor:*</exclude>
                <exclude>org.apache.logging.log4j:log4j-api:*</exclude>
                <exclude>org.apache.logging.log4j:log4j-core:*</exclude>
                <exclude>org.apache.logging.log4j:log4j-slf4j-impl:*</exclude>
                <exclude>javax.servlet:servlet-api:*</exclude>
                <exclude>org.slf4j:slf4j-api:*</exclude>
            </excludes>
        </artifactSet>
        <transformers>
            <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>
            <transformer
                    implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                <mainClass>com.st.main.ParserEcTopology</mainClass>
            </transformer>
        </transformers>
    </configuration>
</plugin>

参考博客

[1]https://blog.csdn.net/Shenshaoqiu/article/details/78736458

猜你喜欢

转载自blog.csdn.net/zzti_erlie/article/details/80807238