作者:QuantumFlash
网站:http://hexun.com/QuantumFlash
本文主要介绍Flex2 SDK中的应用程序编译器。翻译了官方的资料,并加以自己使用的经验,让大家看的更紧凑,如有不对或错误欢迎回复讨论交流。
应用程序编译器建立SWF文件并让其能运行在Adobe Flash Player的客户端里。客户端可以是一个独立运行的Adobe Flash 播放器或在浏览中的
插件。
应用程序编译器一共有3种,分别为:
1 Flex Builder附带的编译器。Flex Builder的编译器可以在 Flex Builder 中开启编译 Flex 项目和 ActionScript 项目。虽然在参数上有
所不同,但和 mxmlc 命令行编译器在功能上相类似。
要打开编译器:选择Project菜单的Build。Flex Builder附带的编译器就被打开了(你可以使用组件编译器来建立库项目)
要修改编译设定:选择Project的Properties的Flex Compiler 对话框。
和命令行编译的语法相同,你也可以设定大部分的值在"Additional compiler arguments"里。
详细语法在:http://livedocs.macromedia.com/flex/2/docs/00001500.html
除了生成SWF文件,Flex Builder也生成HTML Wrapper,在HTML Wrapper里包括了<object>和<embed>标签来指向新的SWF文件,当然脚本支持历
史管理,和播放器版本检测。
更多关于HTML Wrapper的资料:http://livedocs.macromedia.com/flex/2/docs/00001578.html
通常的编译器的默认设置在flex-config.xml文件里,你可以通过修改这个文件或创建新的配置文件来自定义编译配置文件。
但Flex Builder 的编译器默认并不使用flex-config.xml,它把自己默认设置存在别的地方,你当然可以通过load-config选项来使用自定义的
配置文件。Flex Builder有一个模板供修改,位于“Flex Builder的安装目录/Flex SDK 2/frameworks/”里的flex-config.xml。
加载自定义配置并替代原来的配置文件语法如下:
mxmlc -load-config=myconfig.xml
如果你不想替代原来的配置文件使用语法如下:
mxmlc -load-config+=myconfig.xml
如果使用mxmlc编译器,你还可以不用指定自定义配置文件名,mxmlc编译器首先会在目录中检查是否有配置文件和目标MXML文件文件名相同。
比如编译的目标是target.mxml,但你配置好了一个文件 target-config.xml。这样 mxmlc target.mxml文件时会自动使用 target-config.xml
文件的编译配置的。
这个特色可以让你一次编译很多不同的项目而不必担心修改配置。
配置文件的优先级如表所显示,越在下方的优先级别越高。
编译参数 |
Flex Builder |
Web-tier |
mxmlc |
compc |
默认配置 |
Yes |
No |
No |
No |
flex-config.xml |
No |
Yes |
Yes |
Yes |
本地配置文件 |
No |
No |
Yes |
No |
通过load-config参数指定的特定配置文件 |
Yes |
No |
Yes |
Yes |
命令行参数 |
No |
No |
Yes |
Yes |
面版参数 |
Yes |
No |
No |
No |
你也可以通过dump-config选项利用现有设定来生成一个配置文件。
例如:mxmlc -dump-config myapp-config.xml
这句命令将生成一个myapp-config.xml基于现有的设置
关于配置文件的语法:http://livedocs.macromedia.com/flex/2/docs/00001492.html
为了减少编译的时间,你可以使用增量编译。增量编译通过检查每字节代码的修改来确定那些部分的代码被改动过,使用了增量编译后会多出
一个缓存文件形如*_n.cache,n代表根据编译配置第几次被生成,如果想强迫重新彻底编译,你也可以删除所有这些缓存文件。
增量编译默认在Flex Builder是开启的,但在mxmlc 命令行模式默认是关闭的。
如果要在WEB端编译开启增量编译,请修改flex-webtier-config.xml文件里的incremental-compile为true,修改flex-config.xml不会对WEB端
的编译设置有任何影响。如果production模式开启的话,请关闭增量模式,因为这样会导致WEB端的编译器不能重新编译页面,除非服务器重启
。
增量编译语法:mxmlc -incremental=true MyApp.mxml
2 命令行 mxmlc 编译器。你打开命令行窗口(可以在开始菜单输入command或cmd),然后进入你解压开的Flex2 SDK目录中的Bin文件夹。通常情况,输入你要编译的应用程序 MXML 根文件名。就能输出一个 SWF 文件。
编译器在:Flex2 SDK安装文件夹/bin 目录里
要更好使用mxmlc ,最好看下命令行语法的介绍在:http://livedocs.macromedia.com/flex/2/docs/00001486.html#150209
基本用法如下:
mxmlc [options] -file-specs target_file|dir [...]
比如要编译sample里flexstore的flexstore.mxml就这样写:
mxmlc ../samples/flexstore/flexstore.mxml
要获得帮助支持,输入:
mxmlc -help list
要获得高级帮助支持,输入:
mxmlc -help list advanced
要获得关于某些参数的帮助支持,输入:
mxmlc -help [pattern]
例如:
mxmlc -help warnings返回编译的出错提示参数。
要设置true,false,例如设置accessible,show-actionscript-warnings为true:
mxmlc -accessible=true -show-actionscript-warnings=true
设置变量如下:
-var var1 var2或-var=var1,var2
如果用前者设置完变量,使用--结束变量输入,例如:
-var var1 var2 -- -next_option
后者则不用这样,例如:
-var=var1,var2 -next_option
如果要对变量添加值使用+=操作符,这一般发生在类库等参数上,例如:
mxmlc -library-path +=c:/mylib
详细的命令行编译器参数:
mxmlc:http://livedocs.macromedia.com/flex/2/docs/00001500.html#157203
compc:http://livedocs.macromedia.com/flex/2/docs/00001508.html#157219
当然如果你需要使用JAVA命令行方式编译代码(一般发生在非WIN32或MACOS环境里,或者你需要使用编译器和其他基于JAVA的程序交互),你
也可以使用如下代码:
java -jar ../lib/mxmlc.jar -load-config ../frameworks/flex-config.xml -file-specs c:/flex2/MyApp.mxml
解释:mxmlc已经被编译为一个包文件,要使用他只要调用这个包库就行了。调用路径一般在装好的Flex2 SDK的lib文件夹里
其他参数用法相同(只是要注意加上-load-config参数加载编译配置)
3 Web端编译器。Web-tier编译器运行在 J2EE 应用程序服务器上,当应用程序服务器接受到请求 *.mxml 文件到服务端容器时,服务器编译好
所请求的页面文件(SWF文件)然后返回结果到客户端。 当装好Flex Data Services时,Flex网站应用程序就被装好了。
详细关于Web端编译器介绍:http://livedocs.macromedia.com/flex/2/docs/00001482.html
Flex Builder附带的编译器,命令行 mxmlc 编译器,Web端编译器都有相似的参数调用。
注意:你只可以使用Flex Builder附带的编译器,命令行 mxmlc 编译器编译只有 ActionScript 代码而不包含 MXML 的文件。因为Web端编译
器需要至少一个MXML根文件来通过编译。
相关推荐
- `automation_agent` 文件可能是Flex 4.5 SDK中的一个自动化测试工具或组件,用于自动化Flex应用程序的测试。通常,这种工具可以帮助开发者编写脚本,模拟用户交互,验证应用的行为和功能,确保软件质量。 4. **...
1. **ActionScript编译器**:ActionScript是Flex应用程序的主要编程语言,SDK包含了一个编译器(ASC 2.0),用于将源代码转换为SWF格式,这是在Web上运行的Flex应用的二进制格式。 2. **Flex框架**:Flex框架是一组...
Flex SDK 3.6.0 是 Adobe 公司推出的一款用于开发富互联网应用程序(Rich Internet Applications,RIA)的开发工具包。它基于ActionScript 3.0编程语言和Flash Player运行时环境,允许开发者创建交互性强、图形丰富...
Adobe Flex SDK 4.5.1是Adobe公司推出的用于创建富互联网应用程序(RIA)的强大开发工具包。它基于开放源代码的ActionScript编程语言和Flex框架,允许开发者构建交互性强、用户体验优秀的Web应用。在本文中,我们将...
Flex SDK 3.2 是Adobe公司推出的一款用于创建富互联网应用程序(Rich Internet Applications,简称RIA)的开发工具包。这个版本发布于Web开发领域的一个重要时期,当时Flash Player的普及率高,Flex SDK成为了开发者...
Flex SDK 3.0是Adobe开发的一个开源软件开发工具包,专门用于构建富互联网应用程序(RIA),即在Web上提供类似桌面应用体验的交互式应用。这个版本的SDK发布于2008年,是Flex生命周期中的一个重要里程碑,它带来了...
构建Flex应用程序的过程涉及多个步骤,首先是使用Flex SDK(Software Development Kit)或集成开发环境(IDE)如Adobe Flash Builder 4。Flex SDK包含了编译器、类库和工具,而Flash Builder则提供了更高级的功能,...
1. **Apache Flex SDK 4.6**:Flex SDK是一个开源开发工具集,用于创建富互联网应用程序(RIA),尤其是基于Flash Player或Adobe AIR的项目。版本4.6是Flex SDK的一个稳定版本,提供了ActionScript编程语言、Flex...
Flex SDK 4.5.0.20967 是Adobe公司发布的一个开发工具包,主要用于构建基于Flash Player和Adobe AIR的应用程序。这个版本的SDK包含了一系列关键组件和工具,帮助开发者使用ActionScript 3.0语言进行富互联网应用...
在本文中,我们将深入探讨如何使用Flex SDK创建第一个桌面Adobe Integrated Runtime (AIR)应用程序。首先,确保你已经安装了运行时环境并配置了Flex 3 SDK。主要涉及的工具包括AMXMLC编译器、AIR Debug Launcher ...
Flex SDK(软件开发工具包)是用于创建、调试和编译 Flex 应用程序的核心工具集。它包含了构建 Flex 应用所需的所有类库和编译器工具。Flex SDK 4.5.0 是 Flex SDK 的一个重要版本,提供了许多新功能和改进。 #### ...
这个名为"FlexSDK.rar"的压缩包包含了一整套Flex开发所需的库、编译器和相关工具,它与FlashDevelop集成,为开发者提供了一个高效、轻量级的开发环境。 FlashDevelop是一个免费且开源的集成开发环境(IDE),专注于...
- **体验Web和桌面应用程序**:Flex支持创建既可以在Web浏览器中运行也可以打包为独立桌面应用程序的应用。 - **有关Flex的更多信息**:除了官方文档外,还有许多社区资源和支持,如论坛、博客和技术文章等。 #####...
Flex SDK包含了构建Flex应用程序所需的组件、库、编译器和命令行工具。它支持ActionScript编程语言和MXML标记语言,使得开发者可以创建富互联网应用(RIA)。Flex SDK 4.6是Flex生命周期中的一个重要版本,提供了...
Apache Flex SDK 4.9.0 是一个开源开发工具包,专用于构建富互联网应用程序(RIA),特别是基于Adobe Flash Player和Adobe AIR的应用程序。这个版本的SDK包含了ASDoc工具,这是一个文档生成器,用于为ActionScript...
Flex应用程序最终会被编译为SWF文件,然后通过Flash Player在浏览器中运行。 6. Flex应用程序部署: - Web部署:将Flex应用程序部署到服务器上,用户通过浏览器访问。 - 桌面部署:使用Adobe AIR技术,Flex应用程序...
Flex SDK包含了Flex编译器,它可以将MXML和ActionScript代码编译为SWF文件,这是Flash Player或Adobe AIR运行的应用程序格式。此外,SDK还包括Flex Builder,这是一个基于Eclipse的集成开发环境(IDE),提供了代码...
1. **Flex SDK**:Flex SDK是Adobe提供的免费开源工具包,用于创建富互联网应用程序(RIA)。它包括ActionScript编译器、Flex框架库和MXML编译器,这些工具使开发者可以使用MXML和ActionScript来构建用户界面。 2. ...
1. **Flex SDK**: Flex Software Development Kit提供了编译和调试Flex应用所需的工具,包括Flex编译器、Flex Builder(现已更名An Adobe Flash Builder)等。 2. **Flex Component Lifecycle**: 每个Flex组件都有...