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

Jenkins执行Maven构建生成Jar失败问题求助

解决Maven构建Spring Boot项目时的PluginResolutionException与依赖重复问题

我来帮你一步步排查并解决这个构建问题,从报错信息和你的pom.xml来看,主要有两个核心问题需要处理:

一、修复pom.xml中的重复依赖

首先看报错里的警告信息:

'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.springframework.boot:spring-boot-configuration-processor:jar -> duplicate declaration of version

你的pom.xml里确实重复添加了spring-boot-configuration-processor依赖,找到下面两段代码,删除其中一段即可:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

这个重复依赖虽然只是警告,但可能间接影响构建稳定性,先把它修复。

二、解决maven-clean-plugin的PluginResolutionException

报错的核心问题是Maven无法解析maven-clean-plugin:3.0.0,附带的子错误Invalid packaging for parent POM org.apache.maven:maven-parent:27, must be "pom" but is "jar",这通常是本地Maven仓库缓存损坏或者仓库配置问题导致的,按以下步骤处理:

  • 步骤1:清理本地Maven仓库的损坏缓存
    找到你的Maven本地仓库路径(默认是~/.m2/repository,Windows系统是C:\Users\<你的用户名>\.m2\repository),删除以下两个目录:

    • org/apache/maven/plugins/maven-clean-plugin/3.0.0
    • org/apache/maven/maven-parent/27
      这两个目录的缓存文件已经损坏,删除后让Maven重新下载正确的依赖包。
  • 步骤2:强制更新依赖重新构建
    修改Jenkins里的构建命令,把原来的:

    mvn clean package -DskipTests
    

    改成:

    mvn clean package -DskipTests -U
    

    -U参数会强制Maven更新所有快照依赖和插件,避免使用本地缓存的损坏文件。

  • 步骤3:检查Jenkins的Maven配置(可选)
    如果上面两步没解决问题,确认Jenkins使用的Maven版本和配置是否正确:

    • 确保Jenkins指向的Maven settings.xml配置了可用的远程仓库(比如国内镜像或者官方Maven仓库)
    • 检查Jenkins的Maven安装路径是否正确,没有使用损坏的Maven版本

额外优化建议

你的pom.xml里使用的maven-assembly-plugin版本是2.2-beta-5,这个版本非常老旧,建议升级到稳定版本(比如3.3.0),避免潜在的兼容性问题:

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.3.0</version>
    <configuration>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <mainClass>com.capiot.ckyc.CkycApplication</mainClass>
            </manifest>
        </archive>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
    </configuration>
    <executions>
        <execution>
            <id>assemble-all</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

按照上述步骤操作后,重新执行构建任务,应该就能成功生成CKYC-0.0.1-SNAPSHOT.jar文件了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:32:41