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>