maven-assembly-plugin打包方式(类似于fatjar打包方式)

maven-assembly-plugin使用

最近有给需求,平台不支持spark –packages命令。需要自己打包spark的依赖包打入执行jar中。
所以研究使用maven-assembly-plugin打包方式。


直接上pom.xml配置

  <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

直接将依赖包打包成一个以jar-with-dependencies.jar的后缀包.

如果不需要某个依赖包打包进去,只需要将scope写provided

         <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-java</artifactId>
            <version>${flink.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-streaming-java_2.11</artifactId>
            <version>${flink.version}</version>
            <scope>provided</scope>
        </dependency>

这里我不想将org.apache.flink:flink-java,org.apache.flink:flink-streaming-java_2.11打入jar包,
只要加<scope>provided</scope>

官网链接


猜你喜欢

转载自blog.csdn.net/baifanwudi/article/details/80834968