- 浏览: 498208 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
devon.k:
推荐的一种解决方案:https://developer.jbo ...
JBoss应用遇到问题记录 -
liuzl121:
楼主你好,我遇到了你说的第一个问题,能不能详细一些?
JBoss应用遇到问题记录 -
showzh:
...
MySQL5.1列类型 -
zijie110:
...
使用SpringSide的PropertyFilter无法实现 where 属性名1 like '%值1%' or 属性名1 like '%值2%' 的效果 -
JAVA-JVM:
您好,我看了您的一篇文章“用Maven构建Flex4项目实践记 ...
用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(命令行方式),终端执行:
mvn archetype:generate -DarchetypeRepository=http://repository.sonatype.org/content/groups/flexgroup -DarchetypeGroupId=org.sonatype.flexmojos -DarchetypeArtifactId=flexmojos-archetypes-modular-webapp -DarchetypeVersion=3.7.1
根据提示依次输入 groupId、 artifactId、version、package,确认后进行构建,构建成功会产生如下结构的项目文件夹(testwebapp 为我输入的 artifactId 值):
注:由模板生成项目基础结构这一步,在几款IDE(本身支持Maven或安装Maven插件)中,在新建工程的向导引领下,同样可以完成。
2、默认创建出来的项目所使用的FlexSDK版本为3.2.0.3958,想要构建Flex4项目需要修改以下几处:
1) 编辑 %artifactId% / pom.xml , 增加 仓库配置 和 FlexSDK 版本属性,修改后的 pom.xml 如下:
<?xml version="1.0"?> <!-- Copyright 2008 Marvin Herman Froeder Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.llp.flex</groupId> <artifactId>testwebapp</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module>swc</module> <module>swf</module> <module>war</module> </modules> <!-- Flex SDK版本属性 --> <properties> <flex.sdk.version>4.1.0.16248</flex.sdk.version> </properties> <!-- Flex framework 和 Flexmojos 仓库 --> <repositories> <repository> <id>flexmojos</id> <url>http://repository.sonatype.org/content/groups/flexgroup/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>flexmojos</id> <url>http://repository.sonatype.org/content/groups/flexgroup/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </project>
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文件大部分是相同,故下面省略了一些内容):
<!--此处省略--> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <parent> <groupId>org.llp.flex</groupId> <artifactId>testwebapp</artifactId><!--此处按实际的artifactId值进行修改--> <version>1.0-SNAPSHOT</version> </parent> <!--此处省略--> <build> <sourceDirectory>src/main/flex</sourceDirectory> <testSourceDirectory>src/test/flex</testSourceDirectory> <plugins> <plugin> <groupId>org.sonatype.flexmojos</groupId> <artifactId>flexmojos-maven-plugin</artifactId> <version>3.7.1</version> <extensions>true</extensions> <!-- 生成一个调用SWF的HTML文件(%artifactId% / swf / pom.xml 独有配置) --> <executions> <execution> <goals> <goal>wrapper</goal> </goals> </execution> </executions> <configuration> <locales> <locale>en_US</locale> </locales> <!-- 指定Flash Player版本 --> <targetPlayer>10.0.0</targetPlayer> </configuration> <!-- 指定编译版本 --> <dependencies> <dependency> <groupId>com.adobe.flex</groupId> <artifactId>compiler</artifactId> <version>${flex.sdk.version}</version> <type>pom</type> </dependency> </dependencies> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.adobe.flex.framework</groupId> <artifactId>flex-framework</artifactId> <version>${flex.sdk.version}</version> <type>pom</type> </dependency> <!--此处省略--> </dependencies> <!--此处省略--> </project>
3、编译项目,终端执行:
mvn install
过程中会调用FlashPlayer进行单元测试,成功后可以在各模块的 target 文件夹下找到编译后的成品;
其中 %artifactId% / swf / target 下有一个 html 文件,浏览器打开该文件,可以看到 Hello World! 。
至此,构建过程实践成功。
四、 在IDE下使用该项目(承接上文步骤)
1、IDE 为 Flex/Flash Builder 或 Eclipse
1) 生成 Flex/Flash Builder 项目文件,终端执行:
mvn flexmojos:flexbuilder
2) 运行 IDE,导入该项目即可。
2、IDE 为 Intellij IDEA
1) 编辑 %artifactId% / swc / pom.xml 和 %artifactId% / swf / pom.xml, flexmojos-maven-plugin 下增加一项配置,修改后的 pom.xml 片段如下:
<!--此处省略--> <build> <sourceDirectory>src/main/flex</sourceDirectory> <testSourceDirectory>src/test/flex</testSourceDirectory> <plugins> <plugin> <groupId>org.sonatype.flexmojos</groupId> <artifactId>flexmojos-maven-plugin</artifactId> <version>3.7.1</version> <extensions>true</extensions> <!-- 生成一个调用SWF的HTML文件(%artifactId% / swf / pom.xml 独有配置) --> <executions> <execution> <goals> <goal>wrapper</goal> </goals> </execution> </executions> <configuration> <locales> <locale>en_US</locale> </locales> <!-- for using FlexMojos with IntelliJ IDEA --> <configurationReport>true</configurationReport> <!-- 指定Flash Player版本 --> <targetPlayer>10.0.0</targetPlayer> </configuration> <!-- 指定编译版本 --> <dependencies> <dependency> <groupId>com.adobe.flex</groupId> <artifactId>compiler</artifactId> <version>${flex.sdk.version}</version> <type>pom</type> </dependency> </dependencies> </plugin> </plugins> </build> <!--此处省略-->
2) 编译项目,终端执行:
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。
评论
关于flexmojos的mvn插件下载地址都按照说明已经配置。
发表评论
-
Adobe AIR for BlackBerry要点记录
2012-01-20 12:58 15401. 使用AIR开发BlackBerry应用前,有几项前提工作 ... -
Adobe Flex/AIR release记要
2011-11-07 14:46 13291. Flex 1) SDK发布 : Flex ... -
Adobe AIR for iOS开发记录
2011-09-28 10:08 0相关资料: Packager for iPhone (官 ... -
自定义AIR mobile应用的样式或皮肤
2011-11-11 14:44 2457环境: Adobe Flash Builder ... -
iOS开发应用记录
2011-09-28 11:09 2196一、iOS应用设计 1. 参 ... -
Flex进阶持续学习——性能优化
2011-09-03 18:03 3118一. 参考资料 Performance-tuning ... -
开发AIR mobile应用时多设备上的显示处理
2011-08-18 18:48 3915移动设备关于显示效果的问题尤其突出,分辨率、屏幕尺寸各异,处理 ... -
Flex进阶持续学习
2011-07-22 16:49 11951. 生命周期 探究 Flex ... -
Adobe AIR for Android开发记录
2011-06-19 22:17 39981. 通过USB直接连接HTC Desire HD调试AIR ... -
Flex基础——事件
2011-03-31 23:08 708事件驱动是Flex的一大特点,初学者一定要先知道这个。 看了 ... -
Flex/AIR个性化——ProgressBar
2011-03-31 22:25 3544在Spark主题下,ProgressBar 的边框、进度条等都 ... -
Flex/AIR个性化——ToolTip
2011-03-31 11:34 1631编写自己的应用时,自定义ToolTip应该是满常用到的。 定 ... -
《Flex_4:开发RIA_应用程序》学习笔记脑图
2011-02-27 23:11 1205准备今年上半年考个Adobe RIA开发工程师认证,有幸觅得考 ... -
Flex/AIR开发记要——代码篇
2011-01-23 16:45 1688一、样式、皮肤相关 1. 自定义ToolTip,详见 ... -
Flex/AIR加载图片的几种方式
2011-01-23 16:43 2321网觅得,略作修改。 代码如下: (以下环境运 ... -
Flex/AIR开发遇到问题记录
2011-01-10 10:15 17581. 2010-11-? Number 对象 toFixed ... -
Flex/AIR开发记要——规范篇
2010-10-22 18:19 1325一、规范、规则 1、命名: 1)文件名(as类名除 ... -
CheckBoxFileSystemTree的实现笔记
2010-09-26 10:05 0关于Tree的相关参考与copy: Flex中Tree组件的 ... -
用Maven构建AIR2项目实践记录
2010-08-28 22:42 2502------------------------------- ... -
Flex/AIR开发环境之Intellij IDEA篇
2010-08-14 12:39 10875搭建过程如下: 1. 安装 Intellij IDEA ...
相关推荐
使用Maven构建多模块项目
本人博客里面“使用Maven构建Spring MVC项目的简单示例”的源代码
使用maven构建,打包的java项目demo
Maven构建全栈式Flex、BlazeDS和Spring集成解决方案–第一部分_创建Maven_Flex模块
使用Maven对Flex项目进行构建,无需依赖于FlexBuilder进行编译开发。
使用Maven构建JavaWeb项目实例
Maven 构建 项目 文档 java MyEclipse导入Maven项目及注意的事项
maven构建多模块项目,参考:http://blog.csdn.net/xiejx618/article/details/19849035
maven-3.5.0多工程构建(spring4mvc分子项目) 使用maven构建多模块项目。在一个项目中使用多个模块的一个方法是将模块... maven maven3.5.0 多工程构建 spring4mvc 子项目 maven构建项目 多模块项目 maven构建WEB项目
这是用Maven 构建多个项目示例代码。
作为一个JAVA开发者,经常受到技术框架造型的烦恼本篇主要讲解的是maven自动化你的项目,以国外框架组合appfuse和国内springside为主,让你在短短的时间之内把想要的框架集成,并准备开发
使用Eclipse使用Maven构建web项目视频教程,不包含框架内容
gs-maven, 使用 Maven 构建Java项目 标记项目maven目录你将构建什么。你需要什么。设置了项目项目。定义一个简单的Maven 构建工具。构建Java代码声明依赖项编写测试文件。摘要文件另请参阅本指南引导你使用 Maven
maven构建项目工程,简单构建方便,快速
maven项目构建文档maven项目构建文档maven项目构建文档
maven构建项目可以粘贴的内容
使用 Maven 构建 Web 项目 helloweb
基于Maven构建ssh项目,教程可参考http://www.cnblogs.com/tommychok/p/7340500.html
使用maven构建多模块项目。在一个项目中使用多个模块的一个方法是将模块添加为依赖项,正常情况下,我们会添加一个外部模块作为依赖。但是,当模块是一个项目的一部分,并密切相关的时候,该项目应被构造为一个多...
使用maven构件web项目,部署tomcat