Javac莫名其妙地失败了哈德森

时间:2017-05-05 06:55:19

标签: java maven jenkins ant hudson

我们的应用程序是从Ant脚本构建的Hudson。在我最近的作品中,我最近收录了Maven。现在,Hudson的构建过程在没有任何解释的情况下到达编译任务时失败。

Hudson build:

[echo] Using Maven Repo at ../.maven/repo/
[javac] Compiling 134 source files to C:\Users\administrator1\.hudson\jobs\SAP_RC\workspace\current\classes

BUILD FAILED
C:\Users\administrator1\.hudson\jobs\SAP_RC\workspace\current\build.xml:68: Error running C:\Program Files (x86)\Java\jdk1.8.0_66\bin\javac.exe compiler

Ant脚本:

<javac classpathref="lib" destdir="${classesDir}" debug="true" debuglevel="lines,vars,source" verbose="true" fork="true" nowarn="true" memoryMaximumSize="320m" srcdir="${srcDir}" includeantruntime="false"  />

我特意将Maven repo包含在classpath中,并且当它无法解释时失败了。当我删除Maven repo时,构建会抛出一个编译错误,抱怨它无法找到Maven依赖项。这让我怀疑我遇到了一些类路径长度限制。

我是这样做的,因为我不确定将Maven依赖项包含到类路径中的正确方法是什么。如果有更好的方法请告诉我,我会专门为此开一个新问题。

1 个答案:

答案 0 :(得分:0)

好像我的文件集中的通配符是罪魁祸首。

<path id="lib">
        <fileset dir="${env.maven_repo}">
            <include name="*/**"/>
        </fileset>
</path>

我将**更改为 *。jar ,构建过程不再(莫名其妙地)失败。

<path id="lib">
        <fileset dir="${env.maven_repo}">
            <include name="*/*.jar"/>
        </fileset>
</path>