`

基于Flex-config.xml的命令行编译(转)

    博客分类:
  • Flex
阅读更多

    为什么要推荐使用flex-config.xml的方式呢,flex-config.xml涵盖flex编译及其他控制的所有选项,对于命令行编译来说,mxmlc复杂的编译选项对于命令行的输入简直就是噩梦,而使用flex-config.xml可以方便的修改编译选项,并且一次修改就可以在后续的所有mxmlc编译过程中保存下来,还有个重要的地方,flex-config.xml文件是一个xml文件,更加的友好,而且其中每个参数都有详细的注释,对于我的调整编译参数也更方便。

    因为Adobe的Flex文档有很多语焉不详的地方,为了避免大家在命令行编译过程中出现混乱,我们现在来仔细解释基于flex-config.xml编译过程的细节。

    首先我们来对环境做些约定,定义以下几个变量以方便我们后面的行文:

  1. $SDK:Flex 2 SDK所在目录    
  2. $frameWorks:Flex 2 框架根目录,一般为$sdk下面的frameworks    
  3. $flexApp:flex项目的根目录。该目录包含了我们项目的源码等。  

    首先我们我们使用mxmlc命令要导出一份缺省的flex-config文件,注意Linux下导出配置会报找不到flex-config.xml错误,这是个BUG,不要理他就可以了,实际文件已经导出成功:

代码
  1. cd $SDK/bin   
  2. ./mxmlc -dump-config flex-config.xml  

这个导出的flex-config.xml将是我们以后编译flex的配置文件,所有的编译参数同将通过修改该文件来实现。

接着将上面的导出的文件复制到我们的flex应用根目录中:

cp flex-config.xml $flexAPP因为flex-config配置文件的特殊性,要脱离flex框架使用改文件的话,我们还需要对flex-config.xml文件进行一点小小的修改,修复一下路径指向的问题:

首先修改36行,将其中的:

xml 代码
  1. <path-element>libs/playerglobal.swcpath-element>  

修改为:

xml 代码
  1. <path-element>${flexlib}/libs/playerglobal.swcpath-element>  

接着修改82、83行,将其中的

xml 代码
  1. <path-element>libspath-element>  
  2. <path-element>locale/{locale}path-element>  

改为:

xml 代码
  1. <path-element>${flexlib}/libspath-element>  
  2. <path-element>${flexlib}/locale/{locale}path-element>  

继续修改97行,将其中的:

xml 代码
  1. <manifest>mxml-manifest.xmlmanifest>  

修改为:

xml 代码
  1. <manifest>${flexlib}/mxml-manifest.xmlmanifest>  

最后,295-297行,将其由:

<!---->
<load-config></load-config>${flexlib}/flex-config.xml

修改为:

<!---->

修改好后保存,然后使用如下方法编译flex:

  1. mxmlc -load-config flex-config.xml +flexlib=$frameWorks Flex_Test.mxml  

以上命令,假定您以及将$SDK/bin加入到了PATH中了,参数中的+flexlib=$frameWorks表示增加token flexlib的定义,定义该值为$frameWorks,以供flex-config.xml中使用。

这样我们每次要改变编译参数直接修改flex-config.xml文件可以了,flex-config里面的参数调整,大家可以直接查看flex-config.xml文件中的注释,该注释非常说明的很清楚,但如果还有不清楚,可以大家可以查看官方文档,这里只提一下我们比较常用的几个地方:

1. 11行,<actionscript-file-encoding></actionscript-file-encoding>:对应compiler.actionscript-file-encoding编译参数,设定actionscript的编码,这个对于异构环境特别重要,特别是系统编码与WEB服务器编码不一致的时候这个参数非常有用。我们建议您将其设置为utf-8。注意该参数默认是关闭的,需要打开注释才能启用。
2. 25行,<debug></debug>:是否编译debug支持swf文件,缺省为false。
3. 65-68行,<include-libraries></include-libraries>:如果您的项目要使用第三方的SWC类库,可以在这里指向你要使用的SWC文件。同样该参数默认是关闭的,需要打开注释才能启用。
4. 76行,<keep-generated-actionscript></keep-generated-actionscript>:是否保留编译过程中的中间actionscript文件,Flex中的mxml的编译,实际上是现生成对应mxml的ActionScript代码,然后在编译ActiongScript的,这里保留的就是这个代码,这些代码对于您对Flex的研究很有帮助,有兴趣的朋友可以设置其为true来查看中间AS代码。该参数默认为false不保留。
5. 120-123行,<source-path></source-path>:指向第三方ActiongScript源代码根目录,如果您的项目要使用第三方的Ascriptscript源码,在此设置。注意在当前目录下的As源码,不需要在这里另外设置。 

   另外,提醒使用Linux的朋友,在Linux下进行Flex开发,如果使用命令行编译的话,我们推荐您使用最近adobe labs发布的fcsh编译,fcsh使用了预载入技术,编译的速度会快点。顺便提下,linux下除了命令行的方式,也可以使用Flex Ant Task的编译方法,最后当然也可以使用FlexBuilder集成开发环境编译的方式。

 原文:http://blog.eshangrao.com/index.php/2007/01/30/335-flexflex-configxml

分享到:
评论

相关推荐

    Flex中采用Flex-config.xml进行命令行的编译

    在命令行编译时,`flex-config.xml`的使用方式通常是通过`-config`参数指定其位置。例如,使用mxmlc命令编译一个名为`MyApp.mxml`的文件,你可以这样操作: ```bash mxmlc -config=myConfig/flex-config.xml MyApp....

    darkstar-as3-0.9.8.

    4. 使用命令行工具启动服务器,可能的命令类似`java -jar darkstar.jar config.properties`。 5. 创建或导入游戏逻辑代码,确保与Darkstar AS3的API兼容。 6. 连接客户端进行测试,验证服务器功能是否正常。 在开发...

    避免Flex RSL重复load 提高module加载性能的swc

    这可以通过修改Flex配置文件(如flex-config.xml)来实现。比如,可以将不常使用的库设置为延迟加载,以减少初始加载时间。 此外,使用Flex的多模块架构也是提高性能的有效手段。将大型应用拆分为多个小模块,每个...

    配置xen环境及hadoop集群环境的学习笔记

    ### 配置XEN环境及Hadoop集群环境学习笔记 #### XEN虚拟机的安装配置 **XEN** 是一种开源虚拟化技术...这些步骤是基于文档中提供的信息进行总结的,实际操作过程中可能会遇到不同的问题,需要根据具体情况进行调整。

    flex编译

    9. **扩展和自定义**:Flex SDK允许开发者通过自定义编译器配置文件(flex-config.xml)来扩展编译器行为,实现特定的编码规范或项目需求。 总之,Flex编译涉及到了ActionScript和MXML的语法理解、Flex SDK的使用、...

    Flex 编译参数选项

    1. **命令行编译工具**:Flex SDK包含一个名为`mxmlc`的命令行编译器,用于将Flex源代码转换为SWF或SWC文件。通过提供不同的参数,开发者可以控制编译过程。 2. **-compiler选项**:这是编译器最常用的前缀,用于...

    flex实现web聊天源码

    6. `flex-config.xml` - Flex编译配置文件,定义了项目依赖、库路径等信息。 7. `build.properties` - 构建属性文件,用于指定编译目标和设置。 8. `Red5服务器配置文件` - 如`red5.properties`,用于配置Red5...

    flex入门教程(比较不错)

    理解项目结构、配置文件(如flex-config.xml)以及编译选项至关重要。 6. **事件处理**:在Flex中,事件是组件间通信的主要方式。学习如何添加事件监听器、触发事件和处理事件响应是提升应用交互性的关键。 7. **...

    flex windowsXP 皮肤

    对于`windowsXP.css`,可以通过在Flex配置文件(如flex-config.xml)中添加样式表路径,或在MXML组件中使用`&lt;style include&gt;`标签引入。而对于`windowsXP.swc`,则需要在Flex Builder或命令行构建脚本中指定库路径,...

    Flex+JAVA+BlazeDS开发环境配置(Java工程和Flex工程独立).pdf

    6. 配置Flex项目,将BlazeDS的客户端库文件导入到Flex项目中,并在remoting-config.xml文件中配置服务器端点(endpoints),以便Flex应用能够调用Java后端服务。 7. 创建和部署Java Web项目。在这个项目中,开发者...

    blazeds 配置step by step

    同样在"src"文件夹下,创建一个XML配置文件,如"remoting-config.xml"。此文件用于配置BlazeDS如何暴露和访问Java对象。在文件中,你需要定义服务端的Java类和方法,以便客户端能够调用。 7. **编辑MXML文件**: ...

    flex + blazeDs

    2. **配置BlazeDS**:在Java服务器上部署BlazeDS服务,配置服务端的配置文件(`services-config.xml`)以定义远程服务和消息通道。 3. **创建Flex项目**:在Flex项目中,添加对BlazeDS服务的引用,定义RemoteObject...

    一个Flex,java入门小工程

    1. 查找项目中的数据库配置文件,通常为XML格式,如`database.properties`或`db-config.xml`。 2. 根据你的数据库环境,修改配置文件中的数据库连接信息,包括URL、用户名、密码等。 3. 如果项目包含数据库脚本,...

    BlazeDS与java整合的最佳方案

    接下来,需要在`[tomcat-home]\webapps\blazeds\WEB-INF\flex\remoting-config.xml`文件中添加配置项,以便定义与Java类之间的连接方式。 ```xml &lt;?xml version="1.0"?&gt; &lt;remoting-config&gt; ...

    Flex + blazeds + Java入门搭建与简单应用

    安装完成后,可以通过命令行工具如Flash Builder或IntelliJ IDEA来创建和编译Flex项目。 2. **配置BlazeDS**:BlazeDS是与Java服务器集成的一部分,通常将其部署到Tomcat等应用服务器上。下载BlazeDS的WAR文件,...

Global site tag (gtag.js) - Google Analytics