我们的应用程序是从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依赖项包含到类路径中的正确方法是什么。如果有更好的方法请告诉我,我会专门为此开一个新问题。
答案 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>