读书人

用Maven构建Flex4项目实践记要

发布时间: 2012-10-30 16:13:36 作者: rapoo

用Maven构建Flex4项目实践记录

-------------------------------------------------------------------------------------------

参考:

Maven Reference Chapter 13. Developing with Flexmojos: http://www.sonatype.com/books/mvnref-book/reference/flex-dev.html (将一些前因后果说的比较明确,建议首先阅读)

Flexmojos Homepage: http://flexmojos.sonatype.org/

Getting Started: http://flexmojos.sonatype.org/getting-started.html

wiki: https://docs.sonatype.org/display/FLEXMOJOS/Home

maven与flex的结合(flexmojos): http://reuental.iteye.com/blog/652895

IntelliJ IDEA下使用FlexMojos : https://docs.sonatype.org/display/FLEXMOJOS/Tips+for+using+FlexMojos+with+IntelliJ+IDEA

-------------------------------------------------------------------------------------------


一、相关环境

OS: Ubuntu 9.10

Maven V2.2.1

Flexmojos V3.7.1

Flex SDK 4.1

?

二、准备工作

1、Maven全局设置:增加1个包含Flex framework的仓库

注:根据实践,不设置也可,在pom里指定也是OK的

2、将 Flash Player 加到环境变量 PATH 中以便支持单元测试

注:如果本机有FlexSDK,可在%FLEXSDKHOME% / runtimes/player/ 下找到各OS平台对应的Flash Player 安装文件,安装即可;若本机没有,可以到Adobe网站下载安装。

?

、构建过程

1、通过模板创建webapp(命令行方式),终端执行:

?

注:由模板生成项目基础结构这一步,在几款IDE(本身支持Maven或安装Maven插件)中,在新建工程的向导引领下,同样可以完成。

?

2、默认创建出来的项目所使用的FlexSDK版本为3.2.0.3958,想要构建Flex4项目需要修改以下几处:

1)? 编辑 %artifactId% / pom.xml? , 增加 仓库配置 和 FlexSDK 版本属性,修改后的 pom.xml 如下:

?

2)? 编辑 %artifactId% / swc / pom.xml? 和 %artifactId% / swf / pom.xml :

???? a) flexmojos-maven-plugin 下增加一些配置(FlexSDK 编译版本、Flash Player 版本等)

???? b) 修改 flex-framework 的版本

???? c) 修正parent 配置段的 artifactId 的值

???? d) 增加 goals 配置(仅 %artifactId% / swf / pom.xml 需要配置)

?

???? 修改后的 pom.xml 如下(2个pom文件大部分是相同,故下面省略了一些内容):

?

3、编译项目,终端执行:

mvn install

?? 编译后,在各个模块的 target 下会有一个文件名形如 ...config-report.xml 的文件。

?

3) 运行 Intellij IDEA,点击菜单 File -> Open Project, 选择 %artifactId% / pom.xml 即可;

???? 点击菜单 File - Project Structure - Facets - Flex, 可以看到 Flex SDK 的选项中有 compiler-4.1.0.16248.pom 。

?

注:

1) 由于我的OS是Ubuntu,没有相关编辑支持,所以导入IDE后也没有什么实际用处;即使IDE支持,由于项目类型为Maven,所以也得不到像Flex/AIR项目那样的build、run支持,一切都只能通过Maven来进行。

2) Intellij IDEA 下构建该项目获其他Flex项目时,无法选择该SDK ,并且存在一个错误:PHP home is not specified ,尚未解决。

?

?

五、遇到问题与解决

Q1、运行 mvn install 时出现错误:

Flex compiler and flex framework versions doesn't match. Compiler: '3.2.0.3958' - Framework: '4.1.0.16248'.

解决:指定Flex SDK编译版本,详见上文 三 -> 2 -> 2)

?

Q2、运行 mvn install 时在执行 testcase 时失败:

Invalid state: the flashplayer is closed, but the sockets still running...

解决:指定Flash Player版本为10,详见上文 三 -> 2 -> 2)

?

Q3、运行 mvn install 时在执行 testcase 时失败:

Accept timed out .../TestRunner.swf

解决:同 Q2。

?

1 楼 airlink 2010-10-18 能不能反向做:先有FlexBuilder项目,然后配置pom的路径参数,最后可以自动化脚本编译?

读书人网 >flex

热点推荐