Flex项目ant编译脚本初探
?
?费了九牛二虎之力,终于将我做的项目的ant编译脚本写出来了。这个过程中,遇到一个问题,不大,但是前后弄了快一周。开始先学ant,只不过是将别人的ant脚本copy过来,自己改了改,不成功。做了一个类似的小例子,却可以成功。并且项目在运行ant脚本后,不成功也就罢了,也不提示错误信息。所以根本就不知道是什么错误导致的编译失败。只是运行到下面这一句就结束了。 Loading?configuration?file?C:Program?FilesAdobeAdobe?Flash?Builder?4.5sdks3.6.0frameworksflex-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> Build.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:workspacefortestaaaaaabuild.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:workspacefortestaaaaaabuild.xml prepareEnv: main: [echo] src [mxmlc] Loading configuration file C:Program FilesAdobeAdobe Flash Builder 4.5sdks3.6.0frameworksflex-config.xml [mxmlc] Error: unable to open '/src/aaaaaa.mxml' [mxmlc] Use 'mxmlc -help' for information about using the command line. BUILD FAILED E:BPMworkspacefortest11workspacefortestaaaaaabuild.xml:25: mxmlc task failed Total time: 657 milliseconds 原因:aaaaaa.mxml文件没有被找到。也就是说“/src/aaaaaa.mxml”路径错误。在此项目中改为“src/aaaaaa.mxml”就可以了。 错误三: [mxmlc] E:clientclientsrcclientviewrightPanel.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:BPMclientclientsrcclientviewrightPanel.mxml(19): Error: Unable to transcode client/view/assets/up_arrow.gif. [mxmlc] [Embed(source="client/view/assets/up_arrow.gif")] BUILD FAILED E:clientclientbuild.xml:25: mxmlc task failed 原因:图片的路径不正确导致的。 开始的图片的路径是: [Embed(source="client/view/assets/up_arrow.gif")] 应该改为: [Embed(source="/client/view/assets/up_arrow.gif")] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |