You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Maven POM文件以生成单个Fat Jar?

解决方案

要只生成单个名为assignment2.jar的Fat Jar,只需修改maven-shade-plugin的配置,让它直接替换默认生成的Jar,而非额外产出带分类符的附属Jar。具体修改点如下:

  • 将shadedArtifactAttached的值从true改为false:该参数控制是否把shaded Jar作为附属构件(带classifier)生成,设为false后,shade插件会直接覆盖默认Jar文件。
  • 保留<finalName>assignment2</finalName>配置:确保最终生成的Jar文件名符合作业要求。
  • 可删除shadedArtifactClassifier配置:因为不再生成附属Jar,这个分类符参数已无意义。

修改后的maven-shade-plugin配置片段:

<!-- Use the Maven Shade Plugin for creating a fat JAR -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.2.1</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <createDependencyReducedPom>false</createDependencyReducedPom>
                <shadedArtifactAttached>false</shadedArtifactAttached>
                <transformers>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                        <mainClass>org.example.Main</mainClass>
                    </transformer>
                </transformers>
            </configuration>
        </execution>
    </executions>
</plugin>

可选依赖优化

你的poi-ooxml:5.2.3依赖已经包含了poi-ooxml-schemas和xmlbeans的兼容版本,无需单独声明这两个依赖,删除它们可避免版本冲突:

<!-- 删除以下两个冗余依赖 -->
<!-- <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml-schemas</artifactId>
    <version>4.1.2</version>
</dependency>
<dependency>
    <groupId>org.apache.xmlbeans</groupId>
    <artifactId>xmlbeans</artifactId>
    <version>5.1.1</version>
</dependency> -->

修改完成后执行mvn clean package,只会生成assignment2.jar这个Fat Jar,直接用作业要求的命令java -jar assignment2.jar PDF sample.csv即可测试。

内容的提问来源于stack exchange,提问作者Roenan Bingle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 14:17:14