Eclipse中的Ant构建失败:无法从控制台理解错误

时间:2014-08-26 10:47:26

标签: java xml eclipse ant

我在Eclipse中运行build.xml。我在构建时遇到了一些错误,并且大多数错误都是通过修复文件夹路径来解决的。我在办公室网络工作,并意识到,C:/有很多安全限制。所以,我把项目移到了D:/。之后,所有文件夹都被创建。但是,我遇到了以下错误。我是Ant的新手,因此,我无法理解错误的含义。因此,我不确定要搜索什么!我查了很多蚂蚁构建失败,但没有任何相关内容。

这是ant build.xml:

<?xml version="1.0"?>
<!-- ======================================================================                                               
     Load Test application   

     ====================================================================== -->
<project 
    name="Load Test application" 
    default="build"
    basedir=".">

    <!-- project properties -->
    <property environment="env"/>

    <!-- Flex SDK settings -->
    <property file="./flex.properties" />

    <!-- Project settings -->
    <property file="./build.properties" />

    <!-- dirs -->
    <property 
        name="release.build.dir" 
        location="${build.dir}/release/"/>
    <property 
        name="debug.build.dir" 
        location="${build.dir}/debug/"/>
    <property 
        name="lib.swc" 
        location="${lib.cairngorm.swc}"/>
    <!-- files -->
    <property 
        name="mxmlc.jar" 
        location="${FLEX_HOME}/lib/mxmlc.jar"/>
    <property 
        name="main.application.release.out" 
        location="${release.build.dir}/${output.swf.name}.swf"/>
    <property 
        name="main.application.debug.out" 
        location="${debug.build.dir}/${output.swf.name}-debug.swf"/>
    <!-- wrapper -->
    <property 
        name="wrapper.dir" 
        location="${FLEX_HOME}/templates/express-installation-with-history"/>
    <property 
        name="output.debug.html" 
        location="${debug.build.dir}/${output.swf.name}-debug.html"/>
    <property 
        name="output.release.html" 
        location="${release.build.dir}/${output.swf.name}.html"/>
    <property 
        name="swf.width" 
        value="100%"/>
    <property 
        name="swf.height" 
        value="100%"/>
    <property 
        name="swf.version.major" 
        value="9"/>
    <property 
        name="swf.version.minor" 
        value="0"/>
    <property 
        name="swf.version.revision" 
        value="0"/>
    <property 
        name="swf.application" 
        value="${output.swf.name}"/>
    <property 
        name="swf.swf" 
        value="${output.swf.name}"/>
    <property 
        name="swf.bgcolor" 
        value="#FFFFFF"/>

    <description>
        Red5 Load Test
    </description>

    <!-- ================================= 
          target: build              
         ================================= -->
    <target 
        name="build" 
        depends="clean,
                 init,
                 compile.release,
                 compile.debug,
                 make.release.wrapper,
                 make.debug.wrapper,
                 docs" 
        description="--> ${swf.release.title} application">
    </target>

    <!-- - - - - - - - - - - - - - - - - - 
          target: make.release.wrapper
         - - - - - - - - - - - - - - - - - -->
    <target 
        name="make.release.wrapper">
        <make.wrapper
            width="${swf.width}"
            height="${swf.height}"
            title="${swf.release.title}"
            version.major="${swf.version.major}"
            version.minor="${swf.version.minor}"
            version.revision="${swf.version.revision}"
            application="${swf.application}}"
            swf="${swf.swf}"
            bgcolor="${swf.bgcolor}"
            wrapper.dir="${wrapper.dir}"
            output.dir="${release.build.dir}"
            output.html="${output.release.html}" />
    </target>

    <!-- - - - - - - - - - - - - - - - - - 
          target: make.debug.wrapper
         - - - - - - - - - - - - - - - - - -->
    <target 
        name="make.debug.wrapper">
        <make.wrapper
            width="${swf.width}"
            height="${swf.height}"
            title="${swf.debug.title}"
            version.major="${swf.version.major}"
            version.minor="${swf.version.minor}"
            version.revision="${swf.version.revision}"
            application="${swf.application}}"
            swf="${swf.swf}-debug"
            bgcolor="${swf.bgcolor}"
            wrapper.dir="${wrapper.dir}"
            output.dir="${debug.build.dir}"
            output.html="${output.debug.html}" />
    </target>

    <!-- - - - - - - - - - - - - - - - - - 
          target: compile.release
         - - - - - - - - - - - - - - - - - -->
    <target 
        name="compile.release">
        <mxmlc.compile
            in="${main.application}"
            out="${main.application.release.out}"
            additional='-benchmark -optimize=true -title "${swf.release.title}" -description "${swf.release.title}"' />
    </target>

    <!-- - - - - - - - - - - - - - - - - - 
          target: compile.debug
         - - - - - - - - - - - - - - - - - -->
    <target 
        name="compile.debug">
        <mxmlc.compile
            in="${main.application}"
            out="${main.application.debug.out}"
            additional="-debug=true -benchmark" />
    </target>

    <!-- - - - - - - - - - - - - - - - - - 
          target: clean                      
         - - - - - - - - - - - - - - - - - -->
    <target 
        name="clean">
        <delete 
            dir="${asdoc.output.dir}" 
            failOnError="false" 
            includeEmptyDirs="true" />
        <delete 
            dir="${build.dir}" 
            failOnError="false" 
            includeEmptyDirs="true" />
    </target>

    <!-- - - - - - - - - - - - - - - - - - 
          target: init                      
         - - - - - - - - - - - - - - - - - -->
    <target 
        name="init">
        <mkdir 
            dir="${build.dir}"/>
        <mkdir 
            dir="${release.build.dir}"/>
        <mkdir 
            dir="${debug.build.dir}"/>
    </target>

    <!-- - - - - - - - - - - - - - - - - - 
          target: docs
         - - - - - - - - - - - - - - - - - -->
    <target 
        name="docs">
        <mkdir dir="${asdoc.output.dir}"/>
        <exec executable="${asdoc.exe}" failonerror="false">
            <arg line='-source-path ${src.dir}'/>
            <arg line='-doc-sources ${asdoc.domainextensions}'/>
                    <arg value='-load-config=${flex.config.xml}'/>
            <arg line='-output ${asdoc.output.dir}'/>
            <arg line='-templates-path "${asdoc.templates.dir}"'/>
            <arg line='-left-frameset-width ${asdoc.framewidth}'/>
            <arg line='-benchmark'/>
        </exec>
    </target>

    <!-- = = = = = = = = = = = = = = = = =
          macrodef: mxmlc.compile          
         = = = = = = = = = = = = = = = = = -->
    <macrodef name="mxmlc.compile">
        <attribute name="in" />
        <attribute name="out" />
        <attribute 
            name="additional"
            default="" />
        <attribute 
            name="config" 
            default="${flex.config.xml}" />
        <sequential>
            <java
                jar="${mxmlc.jar}"
                fork="true"
                maxmemory="512m"
                failonerror="true">
                <arg line="-source-path ${src.dir}"/>
                <arg value="-library-path+=${lib.swc}"/>
                <arg value="+flexlib=${FLEX_HOME}/frameworks"/>
                <arg value="-load-config=@{config}"/>
                <arg value="-output=@{out}"/>
                <arg line="@{additional}"/>
                <arg value="@{in}" />
            </java>
        </sequential>
    </macrodef>

    <!-- = = = = = = = = = = = = = = = = =
          macrodef: make.wrapper          
         = = = = = = = = = = = = = = = = = -->
    <macrodef name="make.wrapper">
        <attribute name="width" default="100%" />
        <attribute name="height" default="100%" />
        <attribute name="title" default="" />
        <attribute name="version.major" default="9" />
        <attribute name="version.minor" default="0" />
        <attribute name="version.revision" default="0" />
        <attribute name="application" default="" />
        <attribute name="swf" default="" />
        <attribute name="bgcolor" default="#869ca7" />
        <attribute name="wrapper.dir" />
        <attribute name="output.dir" />
        <attribute name="output.html" />
        <sequential>
            <copy todir="@{output.dir}">
                <fileset dir="@{wrapper.dir}">
                    <exclude name="**/index.template.html" />
                </fileset>
            </copy>
            <copy 
                file="@{wrapper.dir}/index.template.html"
                tofile="@{output.html}" />
            <replaceregexp 
                file="@{output.html}"
                flags="gs"
                match="\$\{width\}"
                replace="@{width}"/>
            <replaceregexp 
                file="@{output.html}"
                flags="gs"
                match="\$\{height\}"
                replace="@{height}"/>
            <replaceregexp 
                file="@{output.html}"
                flags="gs"
                match="\$\{title\}"
                replace="@{title}"
                encoding="utf-8"/>
            <replaceregexp 
                file="@{output.html}"
                flags="gs"
                match="\$\{version_major\}"
                replace="@{version.major}"/>
            <replaceregexp 
                file="@{output.html}"
                flags="gs"
                match="\$\{version_minor\}"
                replace="@{version.minor}"/>
            <replaceregexp 
                file="@{output.html}"
                flags="gs"
                match="\$\{version_revision\}"
                replace="@{version.revision}"/>
            <replaceregexp 
                file="@{output.html}"
                flags="gs"
                match="\$\{application\}"
                replace="@{application}"/>
            <replaceregexp 
                file="@{output.html}"
                flags="gs"
                match="\$\{bgcolor\}"
                replace="@{bgcolor}"/>
            <replaceregexp 
                file="@{output.html}"
                flags="gs"
                match="\$\{swf\}"
                replace="@{swf}"/>
        </sequential>
    </macrodef>
</project>

这是控制台输出:

Buildfile: D:\Documents\intern\khoa\LOADTEST\loadTestClient\build.xml
clean:
   [delete] Deleting directory D:\Documents\intern\khoa\LOADTEST\loadTestClient\bin
init:
    [mkdir] Created dir: D:\Documents\intern\khoa\LOADTEST\loadTestClient\bin
    [mkdir] Created dir: D:\Documents\intern\khoa\LOADTEST\loadTestClient\bin\release
    [mkdir] Created dir: D:\Documents\intern\khoa\LOADTEST\loadTestClient\bin\debug
compile.release:
     [java] Loading configuration file D:\software\flex_sdk_4.6\frameworks\flex-config.xml
     [java] Initial setup: 170ms
     [java] start loading swcs 31ms Running Total: 201ms
     [java] Loaded 31 SWCs: 1105ms
     [java] precompile: 1939ms
     [java] D:\Documents\intern\khoa\LOADTEST\loadTestClient\src\functions.as(45): Warning: 'application' has been deprecated since 4.0.  Please use 'FlexGlobals.topLevelApplication'.
     [java]         if (pattern.test(Application.application.url) == true) {
     [java] D:\Documents\intern\khoa\LOADTEST\loadTestClient\src\functions.as(46): Warning: 'application' has been deprecated since 4.0.  Please use 'FlexGlobals.topLevelApplication'.
     [java]             var results:Array = pattern.exec(Application.application.url);
     [java] Required RSLs:
     [java]     http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/framework_4.6.0.23201.swz with 1 failover.
     [java]     http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232.swz with 1 failover.
     [java]     http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/spark_4.6.0.23201.swz with 1 failover.
     [java]     http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/sparkskins_4.6.0.23201.swz with 1 failover.
     [java]     http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/mx_4.6.0.23201.swz with 1 failover.
     [java] Files: 622 Time: 4152ms
     [java] Linking... 72ms
     [java] Optimizing... 123ms
     [java] SWF Encoding... 13ms
     [java] D:\Documents\intern\khoa\LOADTEST\loadTestClient\bin\release\loadtest.swf (53496 bytes)
     [java] postcompile: 207ms
     [java] Total time: 5670ms
     [java] Peak memory usage: 83 MB (Heap: 53, Non-Heap: 30)
compile.debug:
     [java] Loading configuration file D:\software\flex_sdk_4.6\frameworks\flex-config.xml
     [java] Initial setup: 63ms
     [java] start loading swcs 8ms Running Total: 71ms
     [java] Loaded 31 SWCs: 262ms
     [java] precompile: 503ms
     [java] D:\Documents\intern\khoa\LOADTEST\loadTestClient\src\functions.as(45): Warning: 'application' has been deprecated since 4.0.  Please use 'FlexGlobals.topLevelApplication'.
     [java]         if (pattern.test(Application.application.url) == true) {
     [java] D:\Documents\intern\khoa\LOADTEST\loadTestClient\src\functions.as(46): Warning: 'application' has been deprecated since 4.0.  Please use 'FlexGlobals.topLevelApplication'.
     [java]             var results:Array = pattern.exec(Application.application.url);
     [java] Required RSLs:
     [java]     http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/framework_4.6.0.23201.swz with 1 failover.
     [java]     http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232.swz with 1 failover.
     [java]     http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/spark_4.6.0.23201.swz with 1 failover.
     [java]     http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/sparkskins_4.6.0.23201.swz with 1 failover.
     [java]     http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/mx_4.6.0.23201.swz with 1 failover.
     [java] Files: 622 Time: 2050ms
     [java] Linking... 33ms
     [java] SWF Encoding... 13ms
     [java] D:\Documents\intern\khoa\LOADTEST\loadTestClient\bin\debug\loadtest-debug.swf (95353 bytes)
     [java] postcompile: 46ms
     [java] Total time: 2433ms
     [java] Peak memory usage: 83 MB (Heap: 53, Non-Heap: 30)
make.release.wrapper:

BUILD FAILED
D:\Documents\intern\khoa\LOADTEST\loadTestClient\build.xml:111: The following error occurred while executing this line:
D:\Documents\intern\khoa\LOADTEST\loadTestClient\build.xml:247: D:\software\flex_sdk_4.6\templates\express-installation-with-history does not exist.

Total time: 10 seconds

build.xml:111是:output.html="${output.release.html}" />

build.xml:247:<copy todir="@{output.dir}">

任何帮助表示赞赏!谢谢!

1 个答案:

答案 0 :(得分:0)

日志说:

  

D:\ software \ flex_sdk_4.6 \ templates \ express-installation-with-history不存在。

由于build.xml中的以下行而引发它:

<property 
        name="wrapper.dir" 
        location="${FLEX_HOME}/templates/express-installation-with-history"/>

解决方案:

  • 缺少文件扩展名,请将其添加到build.xml中。 (.exe,.swz等)
  • 该位置不存在文件。在资源管理器中检查它,并将文件放在该位置。 (d:\ SOFTWARE \ flex_sdk_4.6 \模板\表达安装包含历史)