您的位置:首页 > 移动开发 > WebAPP

基于Maven的Flex/Webapp项目示例

2010-09-15 16:14 369 查看
这是一个配置为多模块maven项目的Flex3/J2EE项目示例。你可以以这种结构为基础来构建自己的项目。Flex项目应当看作是Web应用项目(WAR)的依赖项。使用Maven Dependency插件,SWF构件就会被自动复制到web应用项目的根目录中。
此示例项目包括三个模块:

flex-gui :SWF构件,

java-service : Java facade 示例,

web-app : Web应用程序,同时依赖于flex-ui和java-services构件.

flex-gui
项目
“flex-gui”项目是一个典型的包含.as和.mxml源文件的Flex项目。这个模块产生SWF构件(组装:SWF)。
java-service
项目
“java-service”项目是一个包含java facade的标准java项目,该java façade为GUI提供原始数据源。这个模块产生JAR构件(组装:JAR)。
web-app
项目
“web-app”项目是包含配置文件的Web应用程序项目,这些配置文件需部署到Tomcat等应用服务器容器中。其他资源如JSP,
Servlet,图片等也需要包括进来。这个模块产生WAR构件(组装:WAR)。
在你自己的项目中也可以添加其他模块进来,进一步增强业务层或持久层。
必要条件
创建这个项目需要 :

Maven 2.0.x,

最新版的BlazeDS-Turnkey或者Tomcat
实例.

依赖项

示例基于Maven
Flex Plugin 2.1.1. 更多信息请参见项目主页.

Flex SDK版本3.2.0.3958.

FlexBuilder 3.0.2.xxx集成开发环境,或其它文本编辑器.

多模块项目布局
...
+sampleProject
-pom.xml ( the parent pom
)
+flex-gui
-pom.xml
+src
+main
+flex
+ org.servebox.sample (
All as/mxml sources here )

+resources
+test
+flex
+
org.servebox.test.sample ( All classes for unit test here )
+java-service
-pom.xml
+src
+main
+java
+ org.servebox.sample (
All java sources here )
+test
+java
+
org.servebox.test.sample ( All classes for unit tests here )
+web-app
-pom.xml
+src
+main
+resources
- additional resources
for webapp ( such as images, video etc... )
+webapp
+WEB-INF
+flex

-services-config.xml
-web.xml
POM概述
父类POM
Main部分
父类pom使用这个pom组装(这是“aggregator
project”) :
<modelVersion>4.0.0</modelVersion>
<groupId>org.servebox.sample.multi-module-app</groupId>
<artifactId>multi-module-sample</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Flex3-J2EE-MultiModules-Sample-Application</name>
Modules部分
模块部分定义以下三个子模块:
<modules>
<module>flex-gui</module>
<module>java-service</module>
<module>web-app</module>
</modules>
插件存储库和存储库
以下插件存储库直接定义了Maven Flex 插件的位置:
<pluginRepositories>
<pluginRepository>
<id>servebox</id>
<name>ServeBox Plugin
Repository</name>
<url>http://maven.servebox.org/repository</url>
</pluginRepository>
</pluginRepositories>
以下存储库定义了Flex SDK和ActionScript Foundry依赖项的位置:
<repositories>
<repository>
<id>servebox</id>
<name>ServeBox Plugin
Repository</name>
<url>http://maven.servebox.org/repository</url>
</repository>
</repositories>
Build部分
将项目导入到Eclipse/FlexBuilder工作空间
通过Maven Eclipse插件和Maven Flex插件, Maven可以针对Flex、Java特性自动生成eclipse项目属性文件。下载实例项目,加压到你的工作空间目录,为这个多模块项目另外创建一个工作空间目录,然后在该多模块项目的根目录下运行以下命令行代码:
mvn flex:eclipse eclipse:eclipse
在导入“现有项目”到工作空间后,你需要定义M2_REPO变量便于Flex和Java使用,参看以下两个截图:
构建项目
首先, 你得在根项目的pom.xml中定义相关属性:
<properties>
<tomcat.managerurl>http://localhost:8400/manager</tomcat.managerurl>
<tomcat.serverprofile></tomcat.serverprofile>
<webapp.name>sample-multi-project</webapp.name>
<tomcat.server.root>D:/dev/blazeds-turnkey-3.2.0.3978/tomcat/webapps/${webapp.name}</tomcat.server.root>
<tomcat.server.user>tomcat</tomcat.server.user>
<tomcat.server.password>tomcat</tomcat.server.password>
</properties>
上述配置可以根据自己的实际环境加以更改。
这个项目可能使用单个命令就可以构建。使用命令行工具,从根目录运行“mvn clean
install”:包含在reactor中的所有项目将会被构建,并安装在你本地Maven存储库中 (默认情况下:
~/.m2/repository).
如果你想要这个应用程序自动部署到tomcat中,使用 “tomcat:exploded”,并确保:

Tomcat实例处于运行中,

配置文件${tomcat.root]/conf/tomcat-users.xml包含“tomcat”用户 (这个对象用户Mavean管理Tomcat实例) :

<?xml
version='1.0'
encoding='utf-8'?>
<tomcat-users>
<role
rolename="tomcat"/>
<role
rolename="manager"/>
<role
rolename="admin"/>
<user
username="tomcat" password="tomcat" roles="tomcat,admin,manager"/>
<user
username="admin" password="" roles="admin,manager"/>
</tomcat-users>
下载源代码
使用以下路径下载本文使用的源代码文件: multi-module-sample-10-snapshot-source
Tags: flex-gui, java-service, web-app
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: