我们的应用程序是由ant脚本构建的。在我最近的作品中,我最近包括了Maven。现在,哈德森的构建过程达到编译任务而无需任何解释时就会失败。
Hudson构建:
[echo] Using Maven Repo at ../.maven/repo/
[javac] Compiling 134 source files to C:Usersadministrator1.hudsonjobsSAP_RCworkspacecurrentclasses
BUILD FAILED
C:Usersadministrator1.hudsonjobsSAP_RCworkspacecurrentbuild.xml:68: Error running C:Program Files (x86)Javajdk1.8.0_66binjavac.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包括在类路径中,这是莫名其妙的失败。当我删除Maven Repo时,构建会引发汇编错误,抱怨它找不到Maven依赖性。这使我可疑我正在击中某个类路径长度限制。
我这样做了,因为我不确定将Maven依赖项包括在类路径中的正确方法。如果有更好的方法,请告诉我,我会为此打开一个新问题。
似乎我的文件集中的通配符是罪魁祸首。
<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>