1. 打包的时候报错,提示 jar 重复,具体详情:

* What went wrong:  
Execution failed for task ‘:web-admin:bootJar’.  
> Entry BOOT-INF/lib/jaxb-core-4.0.3.jar is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.6.3/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.

* Try:  
> Run with –stacktrace option to get the stack trace.  
> Run with –info or –debug option to get more log output.  
> Run with –scan to get full insights.

在打包Spring Boot应用时,BOOT-INF/lib/jaxb-core-4.0.3.jar 文件出现了重复项,而构建脚本中没有设置处理重复文件的策略。Gradle不允许默认情况下存在重复文件,因此构建失败。要解决这个问题,只修改构建配置:


bootJar {  
duplicatesStrategy = DuplicatesStrategy.EXCLUDE  
}

这段代码告诉 Gradle 在发现重复文件时排除它们。根据你的需求,你也可以选择其他策略如 DuplicatesStrategy.INCLUDE 或者 DuplicatesStrategy.WARN。然后清理和重新构建项目即可。

  1. Jenkins 打包 Gradle 项目提示权限不足,具体详情如下:

java.io.IOException: Cannot run program "/var/lib/jenkins/workspace/ams/AmsAdminApi/gradlew" (in directory "/var/lib/jenkins/workspace/ams/AmsAdminApi"): error=13, Permission denied  
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)  
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)  
at hudson.Proc$LocalProc.<init>(Proc.java:252)  
at hudson.Proc$LocalProc.<init>(Proc.java:221)  
at hudson.Launcher$LocalLauncher.launch(Launcher.java:994)  
at hudson.Launcher$ProcStarter.start(Launcher.java:506)  
at hudson.Launcher$ProcStarter.join(Launcher.java:517)  
at PluginClassLoader for gradle//hudson.plugins.gradle.Gradle.perform(Gradle.java:321)  
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)  
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:818)  
at hudson.model.Build$BuildExecution.build(Build.java:199)  
at hudson.model.Build$BuildExecution.doRun(Build.java:164)  
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:526)  
at hudson.model.Run.execute(Run.java:1894)  
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)  
at hudson.model.ResourceController.execute(ResourceController.java:101)  
at hudson.model.Executor.run(Executor.java:446)

从错误信息来看,问题出在尝试执行 /var/lib/jenkins/workspace/ams/AmsAdminApi/gradlew 这个脚本时遇到了权限问题(error=13, Permission denied)。这通常是因为当前用户没有对该文件的执行权限。执行如下命令即可:


git update-index &#8211;chmod=+x gradlew

然后正常执行:git commit & git push,然后重新构建即可。