【问题标题】:Ant build fail - because ant forgets property?蚂蚁构建失败 - 因为蚂蚁忘记了财产?
【发布时间】:2010-11-02 00:43:04
【问题描述】:

我收到以下构建错误-

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 运行它。

我错过了什么?

谢谢! 阿兹瑞尔

【问题讨论】:

  • 我不能完全理解这一点,我认为是因为错误与上下文无关。您是说您在目标“备份”的 antcall 中失败了吗?如果是这样,该目标的 build.xml 是什么样的?
  • 您在哪个目标中定义了 build.classpath?它可能在你的 被执行之前被设置。
  • 您是否尝试过增加分配给 ant 和/或特定 ant 任务的内存量?还可以尝试增加 -XX:MaxPermGen 值。我遇到了由大型构建文件中内存不足的任务导致的模棱两可的错误 (java.lang.Error)。
  • 注意:这是交叉发布到 coderanch,要求发帖人分享第 55 行的位置:coderanch.com/t/515620/tools/Ant-build-fail-sometimes-cause
  • 感谢大家的帮助。第 55 行是实际编译任务,即 javac 调用,

标签: java ant build


【解决方案1】:

问题归结于在加载 build.properties 文件之前评估类路径变量这一事实。

这可以通过不使用可配置的 lib.dir 来解决,因为它是相当恒定的。

感谢您的时间和帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-22
    • 1970-01-01
    • 2015-02-09
    相关资源
    最近更新 更多