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

使用maven-assembly-plugin打包带依赖可执行jar时Maven编译报错

问题解决方法

错误根因

你构建时的报错是因为maven-assembly-plugin在处理依赖传递引入的maven-cobertura-plugin:plugin:1.3构件时,无法识别.plugin后缀的归档格式,导致构建终止。你当前使用的2.2-beta-5版本的assembly插件本身版本过旧,对特殊类型依赖的兼容性也较差。

解决步骤

  • 步骤1:升级maven-assembly-plugin到稳定版本
    在pom中maven-assembly-plugin的配置内补充版本号,推荐使用3.6.0稳定版:
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>3.6.0</version>
      <!-- 原有其他配置保留 -->
    </plugin>
    
  • 步骤2:添加依赖类型过滤规则
    在assembly插件的configuration节点下新增依赖集过滤配置,仅打包jar类型的依赖,自动过滤plugin、pom等非可执行构件:
    <configuration>
      <!-- 原有archive、descriptorRefs、finalName配置全部保留 -->
      <dependencySets>
        <dependencySet>
          <outputDirectory>/</outputDirectory>
          <useProjectArtifact>true</useProjectArtifact>
          <unpack>true</unpack>
          <scope>runtime</scope>
          <includes>
            <include>*:jar:*</include>
          </includes>
        </dependencySet>
      </dependencySets>
    </configuration>
    
  • 步骤3:重新执行构建
    运行mvn clean package即可正常生成包含所有依赖的单可执行jar文件。

可选替代方案

如果调整后仍有依赖冲突问题,可替换为maven-shade-plugin完成单jar打包,该插件对复杂依赖场景的兼容性优于assembly插件,示例配置如下:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-shade-plugin</artifactId>
  <version>3.4.1</version>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
        <goal>shade</goal>
      </goals>
      <configuration>
        <transformers>
          <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
            <mainClass>com.klccomputing.sses.expectedResults.ExpectedResults</mainClass>
          </transformer>
        </transformers>
        <finalName>ExpectedResults</finalName>
      </configuration>
    </execution>
  </executions>
</plugin>

内容的提问来源于stack exchange,提问作者Kendall Crouch

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 15:36:04