- 浏览: 512282 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
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 15911. 使用AIR开发BlackBerry应用前,有几项前提工作 ... -
Adobe Flex/AIR release记要
2011-11-07 14:46 13711. Flex 1) SDK发布 : Flex ... -
Adobe AIR for iOS开发记录
2011-09-28 10:08 0相关资料: Packager for iPhone (官 ... -
自定义AIR mobile应用的样式或皮肤
2011-11-11 14:44 2515环境: Adobe Flash Builder ... -
iOS开发应用记录
2011-09-28 11:09 2253一、iOS应用设计 1. 参 ... -
Flex进阶持续学习——性能优化
2011-09-03 18:03 3184一. 参考资料 Performance-tuning ... -
开发AIR mobile应用时多设备上的显示处理
2011-08-18 18:48 3966移动设备关于显示效果的问题尤其突出,分辨率、屏幕尺寸各异,处理 ... -
Flex进阶持续学习
2011-07-22 16:49 12251. 生命周期 探究 Flex ... -
Adobe AIR for Android开发记录
2011-06-19 22:17 40511. 通过USB直接连接HTC Desire HD调试AIR ... -
Flex基础——事件
2011-03-31 23:08 752事件驱动是Flex的一大特点,初学者一定要先知道这个。 看了 ... -
Flex/AIR个性化——ProgressBar
2011-03-31 22:25 3601在Spark主题下,ProgressBar 的边框、进度条等都 ... -
Flex/AIR个性化——ToolTip
2011-03-31 11:34 1695编写自己的应用时,自定义ToolTip应该是满常用到的。 定 ... -
《Flex_4:开发RIA_应用程序》学习笔记脑图
2011-02-27 23:11 1243准备今年上半年考个Adobe RIA开发工程师认证,有幸觅得考 ... -
Flex/AIR开发记要——代码篇
2011-01-23 16:45 1737一、样式、皮肤相关 1. 自定义ToolTip,详见 ... -
Flex/AIR加载图片的几种方式
2011-01-23 16:43 2366网觅得,略作修改。 代码如下: (以下环境运 ... -
Flex/AIR开发遇到问题记录
2011-01-10 10:15 18051. 2010-11-? Number 对象 toFixed ... -
Flex/AIR开发记要——规范篇
2010-10-22 18:19 1363一、规范、规则 1、命名: 1)文件名(as类名除 ... -
CheckBoxFileSystemTree的实现笔记
2010-09-26 10:05 0关于Tree的相关参考与copy: Flex中Tree组件的 ... -
用Maven构建AIR2项目实践记录
2010-08-28 22:42 2545------------------------------- ... -
Flex/AIR开发环境之Intellij IDEA篇
2010-08-14 12:39 10987搭建过程如下: 1. 安装 Intellij IDEA ...
相关推荐
在软件开发过程中,尤其是大型项目,模块化设计是不可或缺的,它可以提高代码的可维护性和重用性。Maven作为Java领域广泛使用的...实践中,需要灵活运用Maven的各种特性,结合最佳实践,以构建高效、稳定的多模块项目。
标题"swf.rar_flex_maven 编译flex_maven flex pom_maven flex 编译_swf开发"明确指出我们将讨论使用Maven来构建SWF(ShockWave Flash)文件的Flex项目。SWF是Adobe Flash Player播放的文件格式,通常用于在网络...
【 Maven 构建的 Java 项目 Demo 深度解析】 在软件开发中,Maven 是一个广泛应用的项目管理和综合工具,尤其对于Java开发者来说,它简化了构建、依赖管理和项目文档生成的过程。本篇文章将深入探讨 Maven 如何用于...
本节将详细介绍如何使用Maven创建Flex模块,以及如何逐步构建一个使用Flex/BlazeDS/Spring/Hibernate/MySQL架构的示例项目。该应用是一个标准的任务清单(to-do list)应用,用户可以添加、删除和编辑任务列表。 **1....
### 使用Maven构建SpringMVC项目的详细步骤及关键知识点 #### 标题解析与核心知识点说明 - **标题**:“使用maven构建springMVC项目” - **核心知识点**:本篇文章主要围绕如何利用Maven工具来搭建SpringMVC框架...
本教程提供的"用maven新建web项目.exe"可能是一个辅助工具,用于指导用户手动执行上述步骤,而"使用Eclipse构建web项目.txt"可能包含了详细的文字说明或步骤。通过学习这些资料,开发者可以掌握使用Eclipse和Maven...
Maven通过使用一个项目对象模型(Project Object Model,POM)来描述项目,并通过插件执行构建任务。POM包含了项目的配置信息,如依赖、构建目标、构建过程等。Maven通过中央仓库下载项目所需的库文件,极大地简化了...
Maven是一个强大的项目管理和构建工具,它简化了Java项目的构建过程,通过标准化构建生命周期和依赖管理,使得开发者可以更专注于代码本身。在"Maven构建项目工程"中,我们可以深入了解Maven如何帮助我们快速、简便...
maven-3.5.0多工程构建(spring4mvc分子项目) 使用maven构建多模块项目。在一个项目中使用多个模块的一个方法是将模块... maven maven3.5.0 多工程构建 spring4mvc 子项目 maven构建项目 多模块项目 maven构建WEB项目
本实例将详细讲解如何使用Maven构建一个完整的JavaWeb项目。以下将围绕Maven的配置、依赖管理、插件使用以及JavaWeb项目的结构等方面进行深入探讨。 一、Maven的简介与安装 Maven是Apache软件基金会开发的一款项目...
在本文中,我们将深入探讨如何使用Maven来构建一个基于Spring MVC的Web应用程序。Maven是一个强大的项目管理和依赖管理工具,而Spring MVC是Spring框架的一部分,用于构建动态、交互式的Web应用。通过结合这两个强大...
作为一个JAVA开发者,经常受到技术框架造型的烦恼本篇主要讲解的是maven自动化你的项目,以国外框架组合appfuse和国内springside为主,让你在短短的时间之内把想要的框架集成,并准备开发
Maven构建多模块项目是软件开发中的常见实践,尤其在大型复杂项目中,通过模块化管理可以提高代码组织的清晰度和可维护性。Maven是一个强大的项目管理和构建工具,它通过POM(Project Object Model)文件来管理项目...
在软件开发过程中,Maven是一个不可或缺的工具,它是一个项目管理框架,可以帮助开发者构建、管理和部署Java项目。本文将深入探讨Maven的核心概念、配置、依赖管理和生命周期,以帮助你理解如何利用Maven来构建项目...
gs-maven, 使用 Maven 构建Java项目 标记项目maven目录你将构建什么。你需要什么。设置了项目项目。定义一个简单的Maven 构建工具。构建Java代码声明依赖项编写测试文件。摘要文件另请参阅本指南引导你使用 Maven
随后,需要在项目的pom.xml文件中引入Flex-mojos依赖,以便能够使用Maven进行Flex项目的构建。 #### 2. 配置Flex-mojos 接下来,配置Flex-mojos插件,指定Flex SDK路径、Flex应用的输出目录、源代码目录等。这一...
在这个"Maven构建Struts项目"的实践中,我们将探讨如何利用Maven来管理依赖并构建一个基于Struts的Web应用。 **Maven** Maven是一个强大的项目管理和构建工具,它通过XML格式的POM(Project Object Model)文件来...
4. **构建流程**:在Maven的生命周期中,`compile`阶段用于编译源代码,`test`阶段运行测试,`package`阶段打包项目,而`install`阶段将打包好的文件安装到本地仓库,便于其他项目引用。在分布式系统中,每个服务都...
在IT行业中,构建大型软件系统时,有效地管理项目模块及其依赖关系是至关重要的。Maven作为Java领域广泛使用的构建工具,能帮助...通过阅读“构建模块项目的过程记录.txt”文件,你可以进一步了解具体的实践细节。
在本文中,我们将深入探讨如何使用Eclipse IDE创建和管理Maven项目,同时结合"使用Eclipse构建Maven项目.pdf"中的配置示例项目源码,来进一步理解这个过程。Maven是一个强大的Java项目管理和构建工具,而Eclipse是广...