参数名称 | 具体功能 |
<scope>compile</scope> | 默认值,表示当前依赖包要参与当前项目的编译后续测试运行时打包 |
<scope>provided</scope> | 当前包只在编译和测试的时候使用,而不再后续的运行和打包的时候不会打包进来 |
<scope>test</scope> | 表示当前依赖包只参与测试工作 |
<scope>runtime</scope> | 表示当前依赖包只参与运行周期,其他跳过 |
<scope>system</scope> | 从参与度和provided一致,不过被依赖项不会从maven远程仓库下载,而是从本地的系统拿。需要 systemPath属性来定义路径 |
解决maven项目中 无法打包生成空文件夹的问题
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.1</version>
<executions>
<!-- Run shade goal on package phase -->
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<artifactSet>
<excludes>
<exclude>org.apache.flink:force-shading</exclude>
<exclude>com.google.code.findbugs:jsr305</exclude>
<exclude>org.slf4j:*</exclude>
<exclude>org.apache.logging.log4j:*</exclude>
</excludes>
</artifactSet>
<filters>
<filter>
<!-- Do not copy the signatures in the META-INF folder.
Otherwise, this might cause SecurityExceptions when using the JAR. -->
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.lkr.flink.StreamingJob</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>