微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 pom.xml 中使用 maven-assembly-plugin 构建 Spark 应用程序时减少 jar 大小

如何解决如何在 pom.xml 中使用 maven-assembly-plugin 构建 Spark 应用程序时减少 jar 大小

我在我的 pom.xml 文件中使用了以下插件:maven-assembly-plugin 和许多其他单独的依赖项在下面的同一个文件中提到,以使用 IntelliJ 为我的 Spark 应用程序构建一个 jar 文件

pom.xml Maven-assembly-plugin

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.5.3</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id> <!-- this is used for inheritance merges -->
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

pom.xml 其他依赖项:

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-emr</artifactId>
    <version>1.11.125</version>
</dependency>

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-s3</artifactId>
    <version>1.11.106</version>
</dependency>

仅举几例…………!

发生的事情是,这个 maven-assembly-plugin 与主 jar 文件捆绑在所有依赖 jar 中,最终 jar 文件的大小超过 150+ Mb

有没有一种方法可以让我只从我的 pom.xml 中提到一个特定的依赖项被包含在最终的 jar 文件中,并排除所有其他依赖项??

在 jar 中仅包含此依赖项后,希望最终的 jar 大小应降至 1 Mb 以下。

我想在最终 jar 中包含的特定依赖项如下:

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20200518</version>
</dependency>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。