`
dearshor
  • 浏览: 39064 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

实践:搭建基于maven的Java EE协同开发环境

阅读更多

前言

maven 是一个优秀的软件工程管理工具,用好它,对你的软件在整个软件工程的各个生命周期里的管理都会有莫大的帮助。下面我结合实例来讲解如何搭建基于maven的开发环境。

预备知识

本文的预期读者是,已经具备了maven基本知识,了解pom的结构、文法的java ee开发人员。

准备工作

本文将采用maven2、eclipse 3.4、m2eclipse、jboss application server 4.2.2、hsqldb 1.8来搭建开发环境。采用jboss seam 2.0.1.GA分发包中的一个example——DVD Store——来示范如何创建、部署、调试一个maven project。

第一步:创建maven multi-module project

正确安装eclipse3.4(我强烈推荐使用eclipse equinox p2 installer 来安装eclipse 3.4 )、m2eclipse(强烈推荐安装完eclipse 3.4以后,使用software updates安装m2eclipse)后,创建一个maven multi-module project是一件很简单的事:

  • 先创建一个普通的maven project(不使用额外的archetype,仅仅创建一个最简单的maven project即可),然后打开pom.xml,
  • 如果你安装了pom editor(m2eclipse的一个optional feature)的话,就非常简单了,在overview标签页上,点add module按钮,在随后打开的对话框里按向导提示创建一个maven module;


     
  • 如果你没有安装pom editor,你仍然可以使用file->new,在打开的对话框中输入maven module作为filter string,然后选择maven module,随后的步骤同上。

注意:这里创建的maven project和maven module都只要最简单的(不使用额外的archetype)就行。默认情况下,maven module(也是一个eclipse project)会被创建到parent project的目录里(也就是说,会出现嵌套eclipse project。这个功能相信很多人期待已久了吧,现在eclipse上终于可以实现了,哈哈 ):

 

第二步:配置maven project - 撰写pom.xml

maven的所有核心配置文件、maven一切magic的奥秘,都隐藏在pom里。pom是project object model的缩写,顾名思义,就是对一个project的抽象,将任意一个复杂的project抽象成一个maven能理解的model,maven依赖这个model来对提供project施展它的magic。详情看这里:POM Reference

使用m2eclipse的pom editor,可以很方便的编辑pom.xml:



 pom中的基础配置,如project命名,parent pom,dependencys,dependencyManagement等,非本文的侧重点,这里就不具体介绍了,如有需要,以后我再写一些maven入门级的文章。下面重点介绍使用maven plugin部署app到jboss application server。

第三步:部署maven project - 作为 Java EE application 部署

这里使用一个maven plugin:org.codehaus.cargo:cargo-maven2-plugin 有关在maven中使用jboss as的相关问题,请看我的另一篇文章:

在 maven 中使用 Jboss AS

 

考虑到实际使用中经常会将app部署不同的application server上,以测试app在不同的server上的兼容性,故将cargo的配置放入一个profile:jboss中。可以根据需要创建不同的profile。这里使用Runtime Configuration (之所以采用这种方式,主要是受cargo的制约,这个以后再写文章来谈),配置如下:

/dvdstore/dvdstore-app/pom.xml

<project>
	[...]
	<profiles>	
		[...]
		<profile>
			<id>jboss</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.codehaus.cargo</groupId>
						<artifactId>cargo-maven2-plugin</artifactId>
						<configuration>
							<deployer>
								<deployables>
								  <deployable>
									<location>${basedir}/${pom.artifactId}-ds.xml</location>
								  </deployable>
								  <deployable>
									<groupId>${pom.groupId}</groupId>
									<artifactId>${pom.artifactId}</artifactId>
									<type>${pom.packaging}</type>
								  </deployable>
								</deployables>
							</deployer>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		[...]
	</profiles>
	[...]
</project>

/seamapp/pom.xml 

<project>
	[...]
	<build>
		[...]
		<pluginManagement>
			<plugins>
				[...]
				<plugin>
					<groupId>org.codehaus.cargo</groupId>
					<artifactId>cargo-maven2-plugin</artifactId>
					<version>1.0-alpha-6</version> 
					<configuration>
						<container>
							<containerId>jboss4x</containerId>
							<type>remote</type>
						</container>
						<configuration>
							<type>runtime</type>
							<properties>
								<cargo.jboss.configuration>${jboss.server.configuration}</cargo.jboss.configuration>
							</properties>
						</configuration>
						<deployer>
							<!-- Valid types for this deployer are: 
									- remote
									- installed
							-->
							<type>remote</type>
						</deployer>
					</configuration>
				</plugin>
				[...]
			</plugins>
		</pluginManagement>
		[...]
	</build>
	[...]
</project>					

 

接下来在eclipse中作为外部工具来配置jboss as launch:


为了debug的需要,加上相应的jvm参数

 

 

接下来配置maven build launch:


 

 


 OK,接下来打包我们的project


然后启动jboss

 

接着deploy我们的project

 

然后还可以debug我们的project:

 

结语

至此,基于maven的Java EE协同开发环境基本搭建起来了。

本文使用的DVD store例子的源码,我已经把它们放到Google Code上,到时如有需要,大家可以随意下载、分发。

  • project url:http://code.google.com/p/keepleaping/source/browse/#svn/trunk/seam/JbossSeamSamples/dvdstore
  • svn repo url :http://keepleaping.googlecode.com/svn/trunk/seam/JbossSeamSamples/dvdstore/
  • project 讨论 :http://groups.google.com/group/keep-leaping

另外向大家推荐一个社区:

初次写这样的教程性质的文章,肯定有很多不足之处,敬请谅解。先凑活着看吧。欢迎来拍砖。

  • 大小: 63.6 KB
  • 大小: 87.8 KB
  • 大小: 70.3 KB
  • 大小: 31.6 KB
  • 大小: 31.7 KB
  • 大小: 31.3 KB
  • 大小: 42 KB
  • 大小: 42 KB
  • 大小: 42 KB
  • 大小: 17.9 KB
  • 大小: 2.7 KB
  • 大小: 6.2 KB
  • 大小: 39 KB
8
0
分享到:
评论
5 楼 triff 2010-11-05  
搞了一下午,还是看到你这帖子才搞出来,太谢谢了!!
4 楼 dearshor 2008-12-31  
titanxi 写道

配置的参数还是放文字上来吧,图片里看不明白,也没法复制啊。

点击图片可看到原始大小。之所以放图片,是为了便于说明这些配置写在什么位置。你照图片上的内容输入即可,也不是很多,且大多数可以点击对话框里的按钮来生成的(如果你熟悉eclipse ide的话 )。
External Tools Configurations那张图的jvm配置为:
# Sample JPDA settings for remote socket debuging
JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"

# Sample JPDA settings for shared memory debugging 
#JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_shmem,server=y,suspend=n,address=jboss"

用于支持jvm调试。图中主要内容都显示出来了,剩下未显示的部分无关紧要。
3 楼 titanxi 2008-12-30  
配置的参数还是放文字上来吧,图片里看不明白,也没法复制啊。
2 楼 yuanqixun 2008-12-20  
第二少,谢谢你的指引。
1 楼 szcaiman 2008-12-02  
学习中....

相关推荐

    基于Eclipse、Maven搭建SSM

    本教程将详细介绍如何利用Eclipse集成开发环境和Maven项目管理工具来搭建一个基础的SSM应用,并结合MySQL数据库实现简单的数据查询功能。 首先,我们需要了解SSM框架的核心组件: 1. **Spring**:这是一个全面的...

    搭建maven spring3 struts2 mybatis工程代码 demo源码及详细文档

    1. 安装并配置开发环境:包括Eclipse Java EE IDE、MySQL数据库、Tomcat服务器。 2. 创建数据库和表:根据项目需求设计数据库模型,并在MySQL中创建相应的数据库和表。 3. 配置Maven项目:在Eclipse中创建Maven项目...

    Java开发环境软件.zip

    本压缩包"Java开发环境软件.zip"提供了搭建Java开发环境所需的关键组件,包括Tomcat服务器、Maven构建工具以及Git版本控制系统。 1. **Tomcat服务器**: Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,是...

    projetTranseversal:spring、maven 和 jpahibernate 的使用

    在现代Java开发中,Spring框架、Maven构建工具以及JPA(Java Persistence API)和Hibernate ORM(对象关系映射)是核心组件,它们协同工作以实现高效、模块化的应用。本项目"projetTranseversal"旨在展示如何将这些...

    red5 1.0.7整合tomcat6+maven+oflaDemos

    标题中的"red5 1.0.7整合tomcat6+maven+oflaDemos"涉及到的是一个关于搭建和配置Red5服务器的教程,其中包含了使用Maven构建工具以及OFLA Demos的实践。Red5是一个开源的流媒体服务器,能够处理音频、视频、数据和...

    Eclipse+MyEclipse+tomcat开发环境搭建

    在IT行业中,开发环境的搭建是每个Java开发者都需要掌握的基础技能。本教程将详细阐述如何在Windows操作系统下,通过Eclipse、MyEclipse以及Tomcat搭建一个完整的Java Web开发环境。我们将围绕以下四个核心组件展开...

    ssm基于注解的项目搭建

    5. **MyEclipse集成开发环境**:MyEclipse是Eclipse的一个扩展,特别适合Java EE项目的开发。在MyEclipse中,我们可以创建SSM项目,配置相关的项目结构,如src/main/java、src/main/resources和src/main/webapp等...

    Java配置.rar

    Java配置是IT行业中常见的一项工作,它涉及到Java开发环境的搭建和管理,这对于任何Java开发者来说都是基础且至关重要的。本压缩包“Java配置.rar”提供了构建Java开发环境所需的关键工具,包括Jdk 1.8、Maven、...

    Myeclipse搭建ssm简单model

    5. **Myeclipse**:Myeclipse是Eclipse的一个扩展,是一个集成开发环境,特别适合Java EE项目的开发。在这个项目中,Myeclipse被用来创建和管理SSM项目,包括代码编写、调试和部署等。 6. **基本的增删改查(CRUD)...

    达内 java 11_Struts2

    2. **环境搭建**:如何配置开发环境,如安装Tomcat服务器、设置IDE(集成开发环境)和Maven项目管理工具。 3. **MVC模式**:讲解MVC模式的工作流程和在Struts2中的实现。 4. **Action和Interceptor**:如何编写...

    edJAVA:JAVA 存储库(开发环境)

    **Java 开发环境详解** Java 是一种广泛应用的高级编程语言,以其跨平台、面向对象、稳定性和安全性著称。...通过深入学习和实践,开发者可以熟练掌握Java开发环境的搭建和使用,从而更高效地进行Java编程。

    《精通NetBeans——Java桌面、Web与企业级程序开发详解》光盘(第1-14章)源代码

    《精通NetBeans——Java桌面、Web与企业级程序开发详解》是一本深入解析NetBeans集成开发环境(IDE)的专业书籍,旨在帮助读者掌握利用NetBeans进行高效编程的技能。源代码压缩包包含了从第1章到第14章的全部示例...

    泛微二次开发

    2. **理解泛微框架**:泛微系统基于Java EE架构,使用Spring、Hibernate等开源框架。因此,开发者需要熟悉这些框架的基本原理和使用方法。此外,还需要了解泛微自身的业务模型和API,这对于理解和操作泛微系统至关...

    用Maven和Jetty开发调试WEB应用程序

    本文将详细介绍如何利用Maven和Jetty来搭建Web应用程序的开发调试环境。 #### 准备工作 1. **Maven安装:**确保已经在本地计算机上正确安装Maven。可以通过命令`mvn -version`来验证安装是否成功。 2. **Eclipse...

    JAVA开发技术培训PPT课件.ppt

    - 搭建Java开发环境通常包括安装JDK、配置环境变量、设置IDE(集成开发环境)。 - SVN是版本控制系统,用于协同开发和管理代码版本。 - 断点测试和单元测试是确保代码正确性的关键,断点调试帮助找出问题,单元...

    java+jsp+sql server+tomcat开发的博客系统

    【标题】:“java+jsp+sql server+tomcat开发的博客系统”是一个基于Java技术栈构建的Web应用程序,主要用于创建和管理个人或多人博客。它整合了Java Server Pages(JSP)、SQL Server数据库管理和Tomcat应用服务器...

    IntelliJ IDEA下SpringBoot+Maven+JPA+Thymeleaf整合实现增删改查及分页入门项目实例.zip

    这是一个基于Java技术栈的Web开发入门项目实例,主要利用IntelliJ IDEA作为集成开发环境,SpringBoot作为核心框架,Maven作为项目构建工具,JPA(Java Persistence API)作为持久层解决方案,以及Thymeleaf作为视...

    Spring+SpringMVC+mybatis基础框架整合.zip

    在这个名为"Spring+SpringMVC+mybatis基础框架整合.zip"的压缩包中,开发者提供了一个基于Maven的SSM整合示例项目,适用于初学者或需要快速搭建SSM环境的开发者。 首先,Spring作为核心的依赖注入(DI)和面向切面...

    网上学生选课系统Java源码

    6. **版本控制**:在开发过程中,版本控制系统如Git可能被用来协同开发,跟踪代码变更,便于团队合作和代码回溯。 7. **MyEclipse集成**:标签中提到该源码可以直接在MyEclipse环境中运行,这表明源码已经配置好了...

    基于springboot+web的音乐网站源码数据库.zip

    开发者可能使用Maven或Gradle构建工具打包成可执行的jar文件,然后通过命令行或集成开发环境(IDE)启动服务。 10. **测试**: 使用JUnit或Mockito进行单元测试,SpringBoot提供了Test Slice,简化了对特定功能的...

Global site tag (gtag.js) - Google Analytics