使用ant脚本在jenkins中创建War文件时构建失败...

时间:2014-02-17 12:46:04

标签: java xml maven ant jenkins

我已成功在svn中的java project checkedin的根目录中添加 build.xml

现在,以下是jenkin build的控制台输出

  1. 复制
    /var/lib/jenkins/workspace/FinalWar/WebContent/WEB-INF/web.xml到
    /var/lib/jenkins/workspace/FinalWar/build/WebContent/WEB-INF/web.xml
  2. 文件复制完成。 war:创建WAR文件...... 然后
  3. BUILD FAILED /var/lib/jenkins/workspace/FinalWar/build.xml:39:
  4. 部署描述符:
    /var/lib/jenkins/workspace/FinalWar/build/WEB-INF/web.xml没有
    存在。*
  5. 我的问题是在复制[步骤1] web.xml时,它会被复制到 build / WebContent / WEB-INF / web.xml

    但是在创建战争时为什么要搜索 /build/WEB-INF/web.xml

    的[步骤4]

2 个答案:

答案 0 :(得分:0)

检查路径..您正在将其复制到build / WebContent / WEB-INF并尝试从build / WEB-INF读取...通过包含WebContent来更正读取路径。

答案 1 :(得分:0)

首先,您需要确定这是Jenkins问题还是构建本身的问题。

  1. 它是否建立在您的机器上。如果没有,那么你的构建本身就有问题。
  2. 如果它建立在您的计算机上,请执行以下操作:
    1. 禁用正在构建的项目。你不希望詹金斯在你玩的时候突然开始建设。
    2. 在Jenkins中,该项目中有一个工作区文件夹。进入该文件夹,查看FinalWar/build/WebContent/WEB-INF/web.xml是否确实存在。如果没有,您的build.xml本身可能有错误。如果确实......
    3. 登录Jenkins服务器。
    4. 进入Jenkins主目录,然后进入jobs,然后进入项目名称,然后进入workspace。这是Jenkins运行构建的地方。
    5. 尝试在此处进行构建。您可能必须将$PATH设置为选择正确的Ant版本和要使用的JDK。
  3. 詹金斯在构建方面没有做任何不寻常的事情。它就像你从命令行那样运行Ant。实际上,如果查看控制台输出,您甚至可以看到Jenkins使用的命令行。

    在Jenkins中可能存在构建失败的问题,但在命令行中却没有。通常情况下,你会看到Jenkins声明BUILD SUCCESSFUL只是为了声明它在几行之后失败了。这通常是由于错误配置的后期构建过程 - 例如,您尝试归档不存在的工件,或者显示不存在的XML文件的测试结果。

    大多数时候,Jenkins构建失败的原因是构建本身存在问题,并且没有完全按照您的意愿行事。构建失败的第一件事是在本地计算机上执行 CLEAN 签出,并尝试构建。如果可行,请尝试从Jenkins构建服务器本身的workspace运行构建。

    并且,在使用构建服务器上的工作区之前,请禁用Jenkins项目(并且在完成后不要忘记重新启用它)。这样,当你分析出错的时候,詹金斯并没有弄乱工作区。

相关问题