`
hereson
  • 浏览: 1444064 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Flex:基于Flex-config.xml的命令行编译

    博客分类:
  • flex
阅读更多

关键字: Flex Flex2 编译 mxmlc

    为什么要推荐使用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.swc path-element >   

修改为:

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

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

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

改为:

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

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

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

修改为:

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

最后,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`文件的结构基于XML,其中包含了多个配置项,比如编译参数、库路径、元数据等。例如,你可以设置以下一些关键参数: 1. **target-player**: 这个属性定义了编译出的SWF目标运行的Flash Player版本...

    FLex 服务器端:配置remote-config.xml.docx

    远程配置文件`remote-config.xml`用于定义Flex应用程序能够访问的服务器端服务和目的地。本文将深入探讨如何配置此文件,以及它对Flex和Java集成的影响。 首先,原始的`remote-config.xml`文件位于`lcds-root/...

    jscam-source.xml.zip

    1. **配置**:使用JSCam提供的XML配置文件(通常为jscam-config.xml),设置摄像头参数,如分辨率、帧率等。这些参数会直接影响生成的SWF文件的性能和质量。 2. **编译**:将配置文件与JSCam源代码一起编译成SWF。...

    blazeds-bin-3.3.0.22497.zip

    配置BlazeDS时,你需要修改blazeds.war中的配置文件,例如flex-config.xml和services-config.xml,定义Remoting endpoints和MessageBroker channels。此外,你还需要在服务器端设置相应的数据源,并确保Java应用程序...

    Flex-jsp两个必要jar包

    4. **定义服务**:在`services-config.xml`文件中,定义Flex客户端与Java后端的连接点,包括通道设置和服务定义。 5. **编写Flex代码**:在Flex应用程序中,使用`RemoteObject`或`WebService`组件来调用Java后端的...

    BlazeDS配置文件说明

    - `remoting-config.xml`文件用于定义远程服务,它允许Flex客户端调用Java后台的远程方法。在`&lt;destination&gt;`标签中,你可以定义目的地,每个目的地代表一个远程服务,包括服务ID、连接工厂、类名等信息。 配置...

    xalanjava源码-flex-sdk-livecoding:flex-sdk-livecoding

    apache-flex-sdk-installer-config.xml 批准SDK.xml 构建文件 flex-sdk-description.xml flexunit-tests.xml 安装程序.xml 詹金斯.xml 像素弯曲器.xml 发布候选文件 Apache Flex SDK Apache Flex SDK 是流行的 Adob...

    flex 与 java 通讯 (个人修改版)

    - **服务包含**:`services-config.xml`中包含了其他配置文件,如`remoting-config.xml`,这是设置Flex与Java通信的基本服务配置。 - **安全设置**:虽然没有详细展开,但`&lt;security&gt;`部分涉及登录命令,用于处理...

    Flex-Java-Demo.rar_flex_flex 控件

    7. **文件结构分析**:压缩包中的"Flex-Java Demo"可能是项目文件夹,里面可能包含Flex工程文件(如.mxml和.as)、Java源代码、配置文件(如services-config.xml)、测试用例等。深入研究这些文件将帮助理解整个系统...

    整合flex和spring常遇到的问题

    而Flex配置文件如`flex-config.xml`、`services-config.xml`等也需要放置在合适的位置。 **解决方法:** - `webroot`目录下通常包含Flex配置文件以及其他静态资源文件。 - `flex-config.xml`和`services-config.xml...

    flex 入门必看,flex,java 操作

    在`WEB-INF`目录下创建`flex`文件夹,并创建四个配置文件:`messaging-config.xml`, `proxy-config.xml`, `remoting-config.xml`, `services-config.xml`,它们定义了Flex应用与Java后台的交互规则。在`web.xml`中,...

    spring-blazeds-reference.rar_blazeds-bin-4._flex

    配置BlazeDS涉及到Spring上下文配置和BlazeDS配置文件(services-config.xml)。在Spring配置中,需要定义要公开的服务bean,并指定其AMF通道。在BlazeDS配置文件中,定义了通道集、目的地以及安全设置,确保数据...

    Flex开发手册 环境搭建手册

    为了配置BlazeDS,我们需要在Java工程的WEB-INF目录下创建一个名为flex的文件夹,并在此处创建四个关键配置文件:messaging-config.xml、proxy-config.xml、remoting-config.xml和服务配置services-config.xml。...

    整合blazeds和spring需要的jar包

    - 使用Blazeds的配置文件(如services-config.xml),配置服务端点和数据转换。 - 在Flex客户端,通过Flex Remoting配置连接到Spring服务。 - 编写Flex客户端代码,调用后端Spring服务。 5. **注意事项**: - ...

    FLEX与JSP结合并测试HTTPService与java用XML通信.doc

    `services-config.xml`文件定义了Flex与服务器的交互方式,包括服务的配置、消息代理、目的地等。这是设置HTTPService和其他Flex服务的关键文件。 7. **实际应用** 通过上述步骤,开发者可以在JSP页面上使用Flex...

    Flex-LCDS-Java.rar_LCDS_flex_flex java

    3. **配置LCDS**:理解LCDS的配置文件(services-config.xml),如何定义数据通道和服务,以及如何映射Java类到Flex客户端。 4. **数据访问**:使用RemoteObject或HTTPService组件从Java后端获取数据,了解AMF的...

    Flex与Spring整合详解

    - 配置BlazeDS的`web.xml`和`services-config.xml`,并创建Spring应用上下文配置文件。 - 在BlazeDS的`dispatcher-servlet.xml`中配置Spring服务的代理。 - 客户端调用方式与SpringFactory类似,但利用BlazeDS提供的...

Global site tag (gtag.js) - Google Analytics