Jenkins使用maven-antrun-plugin构建报task.properties不存在错误如何解决
task.properties的存放位置说明
task.properties不是Maven或maven-antrun-plugin的官方默认文件,它是你公司内部自定义Ant任务构件包内的资源文件,用来注册resourceCheck这类自定义Ant任务,不会以单独文件形式存放在本地仓库或项目目录下,默认位置是:
- 存放在提供
resourceCheck自定义任务的Jar包的类路径根目录下,随该Jar包一起部署在你们的私有Nexus仓库中 - 本地开发环境正常运行时,该Jar包已经被拉取到本地Maven仓库的对应构件目录下,被包含进你配置的
maven.compile.classpath类路径中,所以antrun可以正常读取到资源
Jenkins构建失败的根因排查
你本地正常、Jenkins失败的核心原因是Jenkins构建环境的类路径中缺少包含task.properties的私有Jar包,可按以下顺序排查:
- 确认Jenkins节点所用的settings.xml和本地完全一致:重点检查私有Nexus仓库的地址、认证信息是否配置正确,Jenkins运行账号是否有该私有构件的拉取权限
- 检查Maven镜像配置:如果settings.xml中配置了全局镜像
mirrorOf=*,需要排除私有Nexus仓库,避免所有依赖请求都被路由到公共镜像仓库,拉不到内部私有构件 - 对比依赖树:在Jenkins构建中加入
mvn dependency:tree命令,和本地运行的输出对比,确认包含自定义Ant任务的Jar包是否被正常引入,版本是否匹配
内容的提问来源于stack exchange,提问作者Nuno Vasconcelos
相关产品推荐
相关产品推荐

