`

用Maven构建AIR2项目实践记录

阅读更多

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

参考:

Building an AIR Application

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

 

一、相关环境

OS: Ubuntu 9.10

Maven V2.2.1

Flexmojos V3.7.1

Flex SDK 4.1

Adobe AIR 2.0.2 SDK

 

二、 构建过程

1、似乎目前 Flexmojos 还没有公布创建AIR应用的模板,所以通过其SVN获取AIR应用的样例源码:

SVN地址: http://svn.sonatype.org/flexmojos/trunk/flexmojos-testing/flexmojos-test-harness/projects/concept/simple-air/

simple-air 项目结构如下:


 

2、修改 simple-air / pom.xml文件:

      增加 仓库配置 和 Flexmojos 、FlexSDK 版本属性、指定SDK编译版本等,修改后的 pom.xml 如下:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 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>info.rvin.itest</groupId>
	<artifactId>simple-air</artifactId>
	<version>1.0-SNAPSHOT</version>

	<packaging>pom</packaging>

	<modules>
		<module>air</module>
		<module>swf</module>
		<module>swc</module>
	</modules>

	<properties>
		<flexmojos.version>3.7.1</flexmojos.version>
		<flex.sdk.version>4.0.0.13555</flex.sdk.version>
	</properties>

	<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>

	<build>
		<sourceDirectory>src/main/flex</sourceDirectory>
		<plugins>
			<plugin>
				<groupId>org.sonatype.flexmojos</groupId>
				<artifactId>flexmojos-maven-plugin</artifactId>
				<version>${flexmojos.version}</version>
				<extensions>true</extensions>
				<configuration>
					<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>

					<dependency>
						<groupId>com.adobe.flex</groupId>
						<artifactId>adt</artifactId>
						<version>${flex.sdk.version}</version>
						<scope>compile</scope>
					</dependency>
				</dependencies>
			</plugin>
		</plugins>
	</build>

	<dependencies>
		<!-- Air SDK dependencies -->
		<dependency>
			<groupId>com.adobe.flex.framework</groupId>
			<artifactId>air-framework</artifactId>
			<version>${flex.sdk.version}</version>
			<type>pom</type>
		</dependency>
	</dependencies>

</project>
 

 3、修改 simple-air / air / pom.xml, simple-air / swf / pom.xml , simple-air / swc / pom.xml 文件中的 

%{flexmojos.version}

     为

${flexmojos.version}

 

4、修改 simple-air/air/src/main/resources/descriptor.xml 中的

<application xmlns="http://ns.adobe.com/air/application/1.0">

     为

<application xmlns="http://ns.adobe.com/air/application/1.5">
 

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

mvn install  

 

成功后, 在 simple-air/air/target 文件夹下会有成品:simple-air-air-1.0-SNAPSHOT.air,

运行该文件(需已安装AIR runtime),按提示安装并运行,运行结果如下:


   至此,构建过程实践成功。

 

三、 遇到问题与解决

Q1、未修改 simple-air/air/src/main/resources/descriptor.xml 中的

<application xmlns="http://ns.adobe.com/air/application/1.0">

运行 mvn install 时出现错误:

error 305: Intial window content SWF version 10 exceeds namespace version http://ns.adobe.com/air/application/1.0

 

Q2、修改 simple-air/air/src/main/resources/descriptor.xml 中的 namespace为:

<application xmlns="http://ns.adobe.com/air/application/2.0">

运行 mvn install 时出现错误:

error 102: Invalid namespace http://ns.adobe.com/air/application/2.0

 

以上2个错误的原因及解决是相通的:

 

原因:Flash Player , Flex SDK, adt 的版本彼此之间是有关联的,Q1是由于pom.xml指定了Flash Player版本为10 (<targetPlayer>10.0.0</targetPlayer>),  Q2是由于pom.xml指定了Flex SDK为4.0.0.13555(<flex.sdk.version>4.0.0.13555</flex.sdk.version>) ,该版本对应的 adt 版本为1.5。

 

注1:该原因是根据一些资料得出的,更多请参考:

 1) http://help.adobe.com/zh_CN/air/build/WS5b3ccc516d4fbf351e63e3d118666ade46-7ff1.html#WSe3d2d52902616553396777a311d6a2e014f-8000

2) http://forums.adobe.com/message/2894373

注2: 目前 flex.sdk.version 版本似乎最高只能是 4.0.0.13555,仓库中 adt 最高只有这个版本。

 

解决: 将命名空间URL改为:http://ns.adobe.com/air/application/1.5

  • 大小: 12.5 KB
  • 大小: 6.2 KB
分享到:
评论
1 楼 binglang8632 2010-12-11  
你好,谢谢你的分享。想请教一下这种结构如何导入到flashbuilder下,如果是通过mvn flexmojos:flashbuilder来生成项目文件,则会报错:Could not find main application! (Hint: Try to create a MXML file below your source root),请指教,谢谢。

相关推荐

    使用Maven构建多模块项目

    在软件开发过程中,尤其是大型项目,模块化设计是不可或缺的,它可以提高代码的可维护性和重用性。Maven作为Java领域广泛使用的...实践中,需要灵活运用Maven的各种特性,结合最佳实践,以构建高效、稳定的多模块项目。

    maven构建的java项目demo

    【 Maven 构建的 Java 项目 Demo 深度解析】 在软件开发中,Maven 是一个广泛应用的项目管理和综合工具,尤其对于Java开发者来说,它简化了构建、依赖管理和项目文档生成的过程。本篇文章将深入探讨 Maven 如何用于...

    使用maven构建springMVC项目

    ### 使用Maven构建SpringMVC项目的详细步骤及关键知识点 #### 标题解析与核心知识点说明 - **标题**:“使用maven构建springMVC项目” - **核心知识点**:本篇文章主要围绕如何利用Maven工具来搭建SpringMVC框架...

    Eclipse使用Maven构建web项目视频教程

    本教程提供的"用maven新建web项目.exe"可能是一个辅助工具,用于指导用户手动执行上述步骤,而"使用Eclipse构建web项目.txt"可能包含了详细的文字说明或步骤。通过学习这些资料,开发者可以掌握使用Eclipse和Maven...

    Maven构建ssh项目实例

    Maven通过使用一个项目对象模型(Project Object Model,POM)来描述项目,并通过插件执行构建任务。POM包含了项目的配置信息,如依赖、构建目标、构建过程等。Maven通过中央仓库下载项目所需的库文件,极大地简化了...

    maven构建项目工程

    Maven是一个强大的项目管理和构建工具,它简化了Java项目的构建过程,通过标准化构建生命周期和依赖管理,使得开发者可以更专注于代码本身。在"Maven构建项目工程"中,我们可以深入了解Maven如何帮助我们快速、简便...

    使用Maven构建JavaWeb项目实例

    本实例将详细讲解如何使用Maven构建一个完整的JavaWeb项目。以下将围绕Maven的配置、依赖管理、插件使用以及JavaWeb项目的结构等方面进行深入探讨。 一、Maven的简介与安装 Maven是Apache软件基金会开发的一款项目...

    使用Maven构建Spring MVC项目的简单示例

    在本文中,我们将深入探讨如何使用Maven来构建一个基于Spring MVC的Web应用程序。Maven是一个强大的项目管理和依赖管理工具,而Spring MVC是Spring框架的一部分,用于构建动态、交互式的Web应用。通过结合这两个强大...

    用maven构建项目

    作为一个JAVA开发者,经常受到技术框架造型的烦恼本篇主要讲解的是maven自动化你的项目,以国外框架组合appfuse和国内springside为主,让你在短短的时间之内把想要的框架集成,并准备开发

    maven构建 多模块项目

    Maven构建多模块项目是软件开发中的常见实践,尤其在大型复杂项目中,通过模块化管理可以提高代码组织的清晰度和可维护性。Maven是一个强大的项目管理和构建工具,它通过POM(Project Object Model)文件来管理项目...

    maven构建项目可以粘贴的内容

    2. 仓库:Maven使用仓库来存储和检索项目依赖。默认的本地仓库位于用户主目录下的`.m2`目录,远程仓库则包括中央仓库和其他自定义的私有仓库。 3. 依赖管理:Maven通过POM中的`&lt;dependencies&gt;`元素管理项目依赖。它...

    Maven构建Struts项目

    在这个"Maven构建Struts项目"的实践中,我们将探讨如何利用Maven来管理依赖并构建一个基于Struts的Web应用。 **Maven** Maven是一个强大的项目管理和构建工具,它通过XML格式的POM(Project Object Model)文件来...

    gs-maven, 使用 Maven 构建Java项目.zip

    gs-maven, 使用 Maven 构建Java项目 标记项目maven目录你将构建什么。你需要什么。设置了项目项目。定义一个简单的Maven 构建工具。构建Java代码声明依赖项编写测试文件。摘要文件另请参阅本指南引导你使用 Maven

    使用Eclipse构建Maven项目 配套示例项目源码

    在本文中,我们将深入探讨如何使用Eclipse IDE创建和管理Maven项目,同时结合"使用Eclipse构建Maven项目.pdf"中的配置示例项目源码,来进一步理解这个过程。Maven是一个强大的Java项目管理和构建工具,而Eclipse是广...

    使用eclipse构建maven

    【构建Maven项目在Eclipse中的实践】 在Java开发领域,Maven是一个广泛使用的项目管理和构建自动化工具,它简化了依赖管理和构建流程。Eclipse作为流行的Java集成开发环境(IDE),通过集成Maven插件m2eclipse,...

    Maven构建多模块项目

    在IT行业中,构建大型软件系统时,有效地管理项目模块及其依赖关系是至关重要的。Maven作为Java领域广泛使用的构建工具,能帮助...通过阅读“构建模块项目的过程记录.txt”文件,你可以进一步了解具体的实践细节。

    Maven构建的分布式demo

    Maven作为Java项目管理工具,为构建分布式应用程序提供了强大的支持。本篇将深入探讨如何利用Maven来构建一个简单的分布式系统。 首先,我们从最基础的Maven工程开始。Maven的项目对象模型(Project Object Model,...

    maven构建项目文档

    以上是关于 Maven 构建项目文档的关键知识点总结,涵盖了 Maven 的基本概念、核心功能、使用指南以及与常见开发工具的集成方式等内容。通过学习这些知识点,开发者可以更好地理解和利用 Maven 来管理和构建 Java ...

    maven项目转换WEB项目

    在IT行业中,Maven是一个广泛使用的构建自动化工具,主要用于Java项目的管理。它的核心功能包括项目的构建、依赖管理和项目信息管理。然而,对于习惯于使用Eclipse IDE开发Web项目的开发者来说,Maven项目可能会显得...

    maven-3.5.0多工程构建(spring4mvc分子项目)

    使用maven构建多模块项目。在一个项目中使用多个模块的一个方法是将模块添加为依赖项,正常情况下,我们会添加一个外部模块作为依赖 工程由Eclipse环境导入,我用的Eclipse4.7 主工程shushuang-project 子WEB工程...

Global site tag (gtag.js) - Google Analytics