Jenkins插件导入org.jenkinsci.plugins.workflow.job包报错如何解决?
问题根因
你要导入的org.jenkinsci.plugins.workflow.job.WorkflowRun类属于workflow-job依赖包,你当前pom.xml中该依赖的scope被设置为test,该scope下的依赖仅对测试源码(src/test/java路径下的代码)可见,主业务源码(src/main/java路径下的代码)编译时不会加载该依赖,因此触发包不存在的报错。
解决步骤
- 找到pom.xml中
workflow-job的依赖配置,删除<scope>test</scope>配置项,修改后的依赖配置如下:
<dependency> <groupId>org.jenkins-ci.plugins.workflow</groupId> <artifactId>workflow-job</artifactId> <version>2.25</version> </dependency>
- 如果你在主源码中还用到了其他workflow相关依赖的类,同理检查对应依赖的scope配置,把主源码用到的依赖的
testscope删除。 - 执行
mvn clean verify重新构建项目即可解决报错。
额外注意
后续调整依赖时,建议优先确认依赖的使用场景:仅测试代码用到的依赖保留test scope,主业务代码用到的依赖不要加test scope,同时尽量保证依赖版本和你兼容的Jenkins核心版本匹配,避免运行时出现类不兼容的问题。
内容的提问来源于stack exchange,提问作者Baptiste Remy
相关产品推荐
相关产品推荐

