linux fat jar安装,如何在Linux下用Maven构建Flink应用程序

您的jar文件是针对整个包的,它通常聚合java类文件、一些元数据和资源文件。之所以是jar是因为中定义的jarpom.xml文件. 如果您展开jar文件,您将在各自的包中看到这两个java类文件。

我们看到2jar文件的原因是添加了Maven Shade插件。第一个jar(flint-demo-1.0-快照.jar)由默认的maven jar插件和另一个插件(original-flint-demo-1.0)生成-快照.jar)从maven shade插件。

Maven Shade插件帮助我们生成uber jar/fat jar。我们还可以控制依赖性,即包括/排除依赖性,就像在这个示例flink项目中所做的那样。因此,当您运行mvn clean包时,您应该会看到一些依赖项被排除在中pom.xml文件文件如下所示

[INFO] --- maven-shade-plugin:3.1.1:shade (default) @ flint-demo ---

[INFO] Excluding org.slf4j:slf4j-api:jar:1.7.15 from the shaded jar.

[INFO] Excluding org.slf4j:slf4j-log4j12:jar:1.7.7 from the shaded jar.

[INFO] Excluding log4j:log4j:jar:1.2.17 from the shaded jar.

[INFO] Replacing original artifact with shaded artifact.

要了解更多关于maven shade插件的信息,可以在这里和这里查看

如果你想排除任何文件,比如说BatchJob,你可以使用Maven编译器插件。我在示例项目中看到maven编译器插件已经存在,所以您只需要包含,如下所示

org.apache.maven.plugins

maven-compiler-plugin

3.1

${java.version}

${java.version}

com/flint/demo/BatchJob.java

现在,当您执行mvn清理包并检查jar文件时,您不应该看到BatchJob类文件。

$ jar tf flint-demo-1.0-SNAPSHOT.jar

META-INF/MANIFEST.MF

META-INF/

com/

com/flint/

com/flint/demo/

com/flint/demo/StreamingJob.class

log4j.properties

META-INF/maven/

META-INF/maven/com.flint.demo/

META-INF/maven/com.flint.demo/flint-demo/

META-INF/maven/com.flint.demo/flint-demo/pom.xml

META-INF/maven/com.flint.demo/flint-demo/pom.properties

要了解更多有关Maven编译器插件的信息,请访问此处

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值