Flex项目ant编译脚本初探

21 篇文章 0 订阅

 费了九牛二虎之力,终于将我做的项目的ant编译脚本写出来了。这个过程中,遇到一个问题,不大,但是前后弄了快一周。开始先学ant,只不过是将别人的ant脚本copy过来,自己改了改,不成功。做了一个类似的小例子,却可以成功。并且项目在运行ant脚本后,不成功也就罢了,也不提示错误信息。所以根本就不知道是什么错误导致的编译失败。只是运行到下面这一句就结束了。

Loading configuration file C:\Program Files\Adobe\Adobe Flash Builder 4.5\sdks\3.6.0\frameworks\flex-config.xml

就这样,自己找了一天的问题,也没有做出来,然后就搁起来了。

后来,继续研究这个问题,看为什么编译不成功。然后在自己的机器上运用同样的ant脚本的代码,也是编译失败,但是错误信息却报出来了。现在不明白这个问题,为什么同样的ant脚本的错误信息,在一台机器上不能显示出来,而在另外一台机器上就可以呢?现在在猜测是不是ant版本的问题。

下面将ant脚本示例和调试过程中遇到的错误贴出来,希望大家遇到同样问题时可以少走点弯路。

ant脚本示例:

build.xml文件:

<project name="Ant build sample" basedir="." default="main">

 <!-- load user configuration properties -->

 <property file="build.properties" />

 <property name="APP_ROOT" value="src"/>

 

 <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />

 

 <target name="prepareEnv">

         <mkdir dir="${basedir}/build"/>

 </target>

 

<target name="main"  depends="prepareEnv">

 <path id="src.files">

    <fileset dir="${src-dir}">

            <include name="**/**"/>

    </fileset>

 </path>

<echo message="${APP_ROOT}"/>

    <mxmlc file="${APP_ROOT}/aaaaaa.mxml" 

                    output="build/aaaaaa.swf"

                    actionscript-file-encoding="UTF-8"

                    keep-generated-actionscript="false"

                    incremental="true"

                    >

 

        <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>

        <source-path path-element="${FLEX_HOME}/frameworks"/> 

        <compiler.library-path dir="${FLEX_HOME}/frameworks" append="true">

            <include name="libs"/>

        </compiler.library-path>

        <compiler.library-path dir="${basedir}" append="true">

            <include name="libs"/>

        </compiler.library-path>

        <compiler.source-path path-element="${src-dir}"/>

    </mxmlc>

</target>  

 

</project>
###### Flex Properties ##############################

# change this path to your flex sdk directory

# Use "/" in your directory path e.g. C:/FlexSDK/3.0.0

FLEX_HOME=C:/Program Files/Adobe/Adobe Flash Builder 4.5/sdks/3.6.0

 

###### Project Properties ###########################

 

src-dir=${basedir}\\src

在编写过程中遇到的问题:

错误一:

Buildfile: E:\workspacefortest\aaaaaa\build.xml

  [taskdef] Could not load definitions from resource flexTasks.tasks. It could not be found.

prepareEnv:

main:

     [echo] src

 

BUILD FAILED

这是因为:<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />中,classpath路径错误,在这个路径中根本就找不到flexTask.jar文件。应该检查一下"Flex_HOME"路径是否正确。

错误二:

Buildfile: E:\workspacefortest\aaaaaa\build.xml

prepareEnv:

main:

     [echo] src

    [mxmlc] Loading configuration file C:\Program Files\Adobe\Adobe Flash Builder 4.5\sdks\3.6.0\frameworks\flex-config.xml

    [mxmlc] Error: unable to open '/src/aaaaaa.mxml'

    [mxmlc] Use 'mxmlc -help' for information about using the command line.

 

BUILD FAILED

E:\BPM\workspacefortest11\workspacefortest\aaaaaa\build.xml:25: mxmlc task failed

 

Total time: 657 milliseconds

原因:aaaaaa.mxml文件没有被找到。也就是说“/src/aaaaaa.mxml”路径错误。在此项目中改为“src/aaaaaa.mxml”就可以了。

错误三:

[mxmlc] E:\client\client\src\client\view\rightPanel.mxml(19): Error: unable to resolve 'client/view/assets/up_arrow.gif' for transcoding

    [mxmlc]                         [Embed(source="client/view/assets/up_arrow.gif")]

    [mxmlc] E:\BPM\client\client\src\client\view\rightPanel.mxml(19): Error: Unable to transcode client/view/assets/up_arrow.gif.

    [mxmlc]                         [Embed(source="client/view/assets/up_arrow.gif")]

 

BUILD FAILED

E:\client\client\build.xml:25: mxmlc task failed

原因:图片的路径不正确导致的。

开始的图片的路径是:

[Embed(source="client/view/assets/up_arrow.gif")]

应该改为:

[Embed(source="/client/view/assets/up_arrow.gif")]




转载地址:http://blog.csdn.net/li2008xue2008ling/article/details/7047215

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值