﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-On Cloud Nine-随笔分类-Flex</title><link>http://www.blogjava.net/tastesnow/category/40371.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 19 Jun 2009 06:20:18 GMT</lastBuildDate><pubDate>Fri, 19 Jun 2009 06:20:18 GMT</pubDate><ttl>60</ttl><item><title>使用Flex ant Tasks</title><link>http://www.blogjava.net/tastesnow/archive/2009/06/19/283166.html</link><dc:creator>TracyLu</dc:creator><author>TracyLu</author><pubDate>Fri, 19 Jun 2009 01:46:00 GMT</pubDate><guid>http://www.blogjava.net/tastesnow/archive/2009/06/19/283166.html</guid><wfw:comment>http://www.blogjava.net/tastesnow/comments/283166.html</wfw:comment><comments>http://www.blogjava.net/tastesnow/archive/2009/06/19/283166.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tastesnow/comments/commentRss/283166.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tastesnow/services/trackbacks/283166.html</trackback:ping><description><![CDATA[Adobe的官方文档：<a href="http://livedocs.adobe.com/flex/3/html/help.html?content=anttasks_1.html">http://livedocs.adobe.com/flex/3/html/help.html?content=anttasks_1.html</a> <br />
<strong><em>简介<br />
</em></strong>Adobe Flex Ant tasks提供了一个方便的方式来使用行业标准构建管理工具来构建你的Flex工程。如果你已经使用Ant工程来构建Flex应用程序，你可以使用Flex Ant tasks来替换你的exec或者调用mxmlc和compc编译器的java命令行。如果你还没有使用ant来构建，你可以利用这些自定义任务来快速和容易地为你的Flex应用建立起复杂的构建过程。<br />
Flex Ant tasks功能包括两个编译器任务：mxmlx和compc。你可以使用它们来编译Flex应用，模块，和组件库。除此以外，Flex Ant tasks包括html-wrapper任务，这可以让你生成自定义的HTML包装器和这些包装器的支持文件。<br />
mxmlc和compc Flex Ant tasks继承了java Ant task.所以，你可以在Flex Ant tasks中使用java Ant task的所有属性。这包括fork,maxmemory和classpath。<br />
更多关于使用Ant的信息，参考<a href="http://ant.apache.org" target="_blank">http://ant.apache.org</a>.<br />
<strong><em>安装<br />
</em></strong>过程非常简单，从Flex SDK ant目录拷贝flexTasks.jar到你的Ant的lib目录。如果你不拷贝，你必须在命令行中使用Ant的-lib选项。<br />
<strong><em>使用Flex Ant Tasks</em></strong><br />
你可以在你已有的工程或新建一个Ant工程使用Flex Ant tasks。在你的Ant工程中，有3个任务可以使用：<br />
&nbsp;&nbsp;&nbsp;&gt;&gt;mxmlc -- 调用应用编译器。你可以使用这个编译器来编译Flex应用程序，模块，资源模块，和CSS SWF文件。<br />
&nbsp;&nbsp; &gt;&gt;compc -- 调用组件编译器。你可以使用这个编译器来编译SWC文件和运行共享库。<br />
&nbsp;&nbsp; &gt;&gt;html-wrapper --生成HTML包装器和Flex应用的支持文件。通过使用这个任务，你可以选择包装器的类型（是否有深度链接支持，是否有快速安装，是否有播放器检测），和指定应用配置，譬如高度、宽度和背景颜色。<br />
<br />
在你的Ant工程中使用自定义的Flex Ant tasks，你必须添加flexTasks.jar文件到你的工程lib目录，然后在taskdef task中指向这个jar文件。一个taskdef task添加了一个任务定义的新集合到你当前的工程中。你使用它来添加那些不是默认Ant安装的任务定义。此外，对大部分工程，你设定FLEX_HOME变量的值，以方便Ant能够找到你的flex-config.xml文件，然后你就能添加frameworks目录到你的source path。<br />
<br />
在Ant中使用Flex tasks<br />
1. 添加一个新的taskdef 任务到你的工程。在这个任务中，指定flexTasks.tasks文件作为资源，并将classpath指向flexTasks.jar文件。例如：<br />
&lt;taskdef resource="flexTasks.tasks" classpath="${basedir}/flexTasks/lib/flexTasks.jar" /&gt;<br />
2. 定义FLEX_HOME和APP_ROOT属性。使用这两个属性来指向你的FLEX SDK的根目录和应用程序的根目录。虽然不是要求，但是为这两个目录创建属性是一个通用实践，因为你将可能在你的Ant tasks中多次使用它们。例如：<br />
&lt;property name="FLEX_HOME" value="C:/flex/sdk"/&gt;<br />
&lt;property name="APP_ROOT" value="myApps"/&gt;<br />
3.写一个使用Flex Ant tasks的目标。下面这个例子定义了main目标，使用了mxmlc任务来编译Main.mxml文件：<br />
&lt;target name="main"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;mxmlc file="${APP_ROOT}/Main.mxml" keep-generated-actionscript="true"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;source-path path-element="${FLEX_HOME}/frameworks"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/mxmlc&gt;<br />
&lt;/target&gt;<br />
下面是完整的例子：<br />
&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />
&lt;!-- mySimpleBuild.xml --&gt;<br />
&lt;project name="My App Builder" basedir="."&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;taskdef resource="flexTasks.tasks"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; classpath="${basedir}/flexTasks/lib/flexTasks.jar"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;property name="FLEX_HOME" value="C:/flex/sdk"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;property name="APP_ROOT" value="myApp"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;target name="main"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mxmlc file="${APP_ROOT}/Main.mxml" keep-generated-actionscript="true"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;source-path path-element="${FLEX_HOME}/frameworks"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/mxmlc&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/target&gt;<br />
&lt;/project&gt;<br />
这个例子展示了如何为mxmlc任务使用不同类型的选项。你可以指定keep-generated-actionscript选项的值作为mxmlc任务标志的一个属性，因为它没有任何儿子标志。为指定load-config和source-path的值，你创建了mxmlc任务标志的儿子标志。更多关于使用选项的信息，可参考http://livedocs.adobe.com/flex/3/html/help.html?content=anttasks_4.html#207401<br />
<br />
4. 执行Ant工程，例如：<br />
&gt; ant -buildfile mySimpleBuild.xml main<br />
如果你不拷贝flexTasks.jar文件到Ant的lib目录，你必须包括这个JAR文件，通过使用Ant的-lib选项，例如：<br />
&gt; ant -lib c:/ant/lib/flexTasks.jar -buildfile mySimpleBuild.xml main<br />
<br />
输出如下：<br />
Buildfile: mySimpleBuild.xml<br />
main:<br />
&nbsp;&nbsp;&nbsp; [mxmlc] Loading configuration file C:\flex\sdk\frameworks\flex-config.xml<br />
&nbsp;&nbsp;&nbsp; [mxmlc] C:\myfiles\flex2\ant_tests\apps\Main.swf (150035 bytes)<br />
BUILD SUCCESSFUL<br />
Total time: 10 seconds<br />
&gt;<br />
<strong><em>编译器选项<br />
</em></strong>compc和mxmlc编译器共享了一组相似的选项。所以，mxmlc和compc Ant tasks的行为也相似。<br />
你可以通过很多方式为mxmlc和compc Flex tasks指定选项：<br />
&gt;&gt;任务属性<br />
&gt;&gt;单参数选项<br />
&gt;&gt;多参数选项<br />
&gt;&gt;嵌套元素<br />
&gt;&gt;含蓄的文件集<br />
<br />
<strong>任务属性</strong><br />
为Flex Ant tasks指定选项最简单的方法就是指定名字和命令行选项的值为一个task属性。在下面的例子中，file和keep-generated-actionscript选项被指定为mxmlc任务的属性。<br />
&lt;mxmlc file="${APP_ROOT}/Main.mxml" keep-generated-actionscript="true"&gt;<br />
很多mxmlc和compc选项有别名。Flex Ant tasks支持这些选项的所有文档别名。<br />
<strong>单参数选项</strong><br />
<img src ="http://www.blogjava.net/tastesnow/aggbug/283166.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tastesnow/" target="_blank">TracyLu</a> 2009-06-19 09:46 <a href="http://www.blogjava.net/tastesnow/archive/2009/06/19/283166.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>