java - Eclipse 中的 Ant 构建失败 : Unable to understand the error from console

标签 java xml eclipse ant

我正在 Eclipse 中运行 build.xml。我在构建时遇到了几个错误,其中大多数通过修复文件夹路径得到了解决。我在办公室网络中工作,意识到C:/有很多安全限制。所以,我把项目移到了D:/。之后所有文件夹都被创建。但是,然后我遇到了以下错误。我是 Ant 的新手,因此我无法理解该错误的含义。因此,我不确定要搜索什么!我查找了很多 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}">

感谢任何帮助!谢谢!

最佳答案

日志显示:

D:\software\flex_sdk_4.6\templates\express-installation-with-history does not exist.

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

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

解决方案:

  • 文件扩展名丢失,请将其添加到 build.xml 中。 (.exe、.swz 等)
  • 该位置不存在文件。在资源管理器中检查它,并将文件放在该位置。 (D:\software\flex_sdk_4.6\templates\express-installation-with-history)

关于java - Eclipse 中的 Ant 构建失败 : Unable to understand the error from console,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25503939/

相关文章:

java - 正则表达式替换除空 ("") 字符之外的所有非字母数字字符

Java初学者: Subclasses and Superclasses -Can you remove values?

c# - 在 C# 中序列化类。嵌套XML

xml - 如何将具有特定语法的 XML 文件转换为遵循另一种语法的另一个 XML 文件?

Eclipse -- 手动安装插件

java - 将 java 文件导入 jsp - 无法解析为类型错误

java - textView setText() NullPointerException

java - 使用setContentView时多次定义函数

java - dom4j cdata(保留空格)

eclipse - 调试 Eclipse 插件