Jenkins (running as Windows Service) cannot find ANT

原本 Jenkins 跑的好好的。我把跑Jenkins的 tomcat 装成 windows service后,Jenkins就找不到 ANT了。 错误如下:

cmd.exe /C '"ant.bat -file build.xml deploy && exit %%ERRORLEVEL%%"'
'ant.bat' 不是内部或外部命令,也不是可运行的程序

解决办法 1:
那肯定是Jenkins读不到环境变量了。搜了一下,可以在 Jenkins 内配置,明确的高速他 ANT在哪儿,甚至 JDK 在哪儿。参考这个: http://wiki.mxunit.org/display/default/Continuous+Integration+--+Running+tests+with+Jenkins
缺点在文中也提到了,每一个 job 都要特意指定用你定义的ANT。

解决办法 2:
后来醒悟过来,这是因为环境变量都是配置在当前用户下,而Windows Service不认识当前用户,当然就不认得已经定义好的ANT_HOME, JAVA_HOME 了。我在 tomcat 的 Windows Service里配置好登录的用户,这下就不再需要特别在 Jenkins 中重新定义环境变量了。
(BTW: 如果所有的环境变量,在一开始就不要创建成 用户环境变量,而是用 系统环境变量,也许也能解决该问题。以后我就都用系统变量了。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jenkins在构建时提示"error: cannot find symbol"错误通常是由于编译器无法找到符号引起的。 在Jenkins构建过程中,通常会包含编译代码的步骤。如果在编译代码时出现"error: cannot find symbol"错误,意味着编译器无法找到某个被引用的符号(可能是类、变量、方法等)。 导致这个错误的原因可能有以下几种: 1. 依赖问题:检查项目中是否引用了其他模块或库,并确认这些依赖是否被正确添加到构建过程中。如果有确实的依赖,可能需要在构建环境中安装或配置这些依赖。 2. 类或方法被修改或删除:如果在项目中有对类或方法的修改或删除操作,但相关的引用尚未更新,编译过程中就会出现找不到符号的错误。此时需要确保所有引用已经正确更新。 3. 编译环境问题:如果编译环境与代码要求的环境不兼容,也会导致"cannot find symbol"错误。在Jenkins中,可能需要检查Java版本和JDK的正确安装与配置。 针对这个错误,可以采取以下步骤解决: 1. 检查错误日志:在Jenkins构建日志或相关错误信息中,可以获得更具体的错误提示,帮助定位到具体的问题代码。 2. 确认构建环境:检查Jenkins构建环境中的Java版本和JDK配置,确保与项目要求相符。 3. 检查依赖:确认项目中的依赖是否配置正确,确保相关的库和模块已经正确添加到构建过程中。 4. 检查代码变更:如果在代码中有任何变更,尤其是类和方法的修改或删除,确保相关引用已正确更新。 5. 清理和重新构建:有时构建过程中的临时文件可能会导致问题,可以尝试清理构建环境,并重新构建。 通过以上步骤,可以帮助解决Jenkins构建过程中出现"error: cannot find symbol"错误的问题。根据具体的错误提示和环境配置,可能需要采取不同的解决方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值