2010-10-29 181 views
0

我收到以下错误 - 建立蚂蚁构建失败 - 因为蚂蚁忘记属性?

BUILD FAILED 
C:\eclipse\workspace\ContinuousTesting\build.xml:55: 
C:\eclipse\workspace\ContinuousTesting\${lib.dir} 

这里是build.properties文件:

src.dir=./src 
build.dir=./bin 
lib.dir=./lib 

这是整个任务

<target name="compile" depends="properties, create.build.dir, xmlmapping.jar.import" description="Perfom compilation"> 
     <!-- Compile the java code --> 
     <echo message="[compile] compiling sources with lib ${lib.dir} to ${build.dir} source dir ${basedir}" /> 
     <javac srcdir="${src.dir}" destdir="${build.dir}" listfiles="no" debug="true" classpathref="build.classpath" fork="true" memoryInitialSize="128m" memoryMaximumSize="512m" /> 
     <antcall target="backup" /> 
</target> 

,它会生成以下的输出

compile: 
    [echo] [compile] compiling sources with lib ./lib to ./bin source dir C:\eclipse\workspace\ContinuousTesting 
    [javac] Compiling 42 source files to C:\eclipse\workspace\ContinuousTesting\bin 

什么是我build.classpath我听到你问....

<path id="build.classpath"> 
     <fileset dir="${lib.dir}"> 
      <include name="**/*.jar" /> 
     </fileset> 
     <pathelement path="${build.dir}" /> 
</path> 

我通过Eclipse中运行这个。

我错过了什么?

谢谢! Azriel

+0

我不能完全遵循这一点,我认为,因为错误是没有上下文的。你是否说你在目标'备份'的antcall失败?如果是这样,该目标的build.xml是什么样的? – 2010-10-29 15:38:52

+0

你在哪个目标中定义了build.classpath?它可能会在您的正在执行之前被设置。 – 2010-10-29 15:42:51

+0

你是否尝试过增加给予蚂蚁和/或特定蚂蚁任务的内存量?还可以尝试增加-XX:MaxPermGen值。我遇到了由大型构建文件中内存不足导致的模糊错误(java.lang.Error)。 – 2010-10-30 13:11:37

回答

2

问题归咎于classpath变量正在被加载的build.properties文件之前被评估。

这可以通过不使用可配置的lib.dir来解决,因为它非常稳定。

感谢您的时间和帮助