Chinaunix首页 | 论坛 | 博客
  • 博客访问: 754110
  • 博文数量: 771
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-11 14:24
文章分类

全部博文(771)

文章存档

2011年(1)

2008年(770)

我的朋友

分类:

2008-09-11 14:29:05

 Maven不仅是一个新建工具。如果正确使用,它还能帮助你管理项目及进行配置。下面我们来进行说明。

 在这个系列以前的文章中,我们讨论了“开发Swing应用程序”和“用网络服务功能开发一个混合Swing应用程序”。现在,我们把它们结合起来,讨论如何将这些代码应用到一个能够配置到上的网络应用程序中。

 我们主要改变了建立应用程序所使用的方法。之前我们用过Ant,但这次我们换用Apache Maven,它具有更强的生命周期导向性,现在已发布第二版。虽然我们用Maven代替Ant,但不要认为Maven只是一个建立工具。它还可通过最佳实践模式对项目进行管理。如果我们首先安装Maven,再获取本月的ToDoTasks源代码,将会更加方便。

 首先你会发现目录树相当简单。在顶部有一个src目录和一个pon.xml文件,这个文件即项目对象模型(POM),它保存所有与项目有关的信息。POM文件告诉Maven如何建立一个它所称的artifact,它有一个名称,在jar或war文件中称为组和版本和映射。因此POM最先拥有的是我们正在建立的artifact信息:

xmlns:xsi=""

xsi:schemaLocation=" ">

4.0.0 

 这是强制性的开端部分。我们打开一个项目元素,然后就会出现一个必需的modelVersion元素,它说明我们正在使用哪个POM版本。现在进入artifact信息。

uk.builder

todotasks

 groupID是一个针对一串artifact的唯一标识符。在上例中,它为uk.builder。artifactID是组中artifact的唯一名称。它们共同为artifact命名,而非说明它的版本。

2.0-SNAPSHOT

 这是我们的版本。-SNAPSHOT是一个说明“开发中”版本的Maven实例。现在,虽然我们有了项目的工作名称,我们还需要一个显示名称。

ToDoTasks

 在需要显示artifact的名称时,Maven将使用这个名称。现在讨论最重要的部分:

war

 之间的元素可以为值jar、war或ear。我们正在建立一个网络应用程序,所以我们使用war。这不只是说明我们封装artifact的方法(初看起来是这样),实际上它影响artifact的整个生命周期。

现在,我们暂停讨论POM文件,再来了解src目录。

src -+-> main -+-> java -> com -> builder -> uk -> todotasks

||

|+-> webapp -+-> META-INF

||

|+-> WEB-INF

|

+-> test -+-> java -> com -> builder -> uk -> todotasks

 Maven项目的src目录在一个主目录和其它子目录下保存所有源代码,java代表源代码,webapp代表网络应用程序代码。测试代码是唯一的例外,它保存在test目录下的一个平行目录中。你会发现其中没有jar文件的库目录,这是因为Maven并不需要它。

 Maven根据jar/war/ear文件贮藏库来考虑问题,每个库都有各自的组ID,artifact ID和版本,这些文件称之为artifact。在本地系统中,你拥有自己的贮藏库,它一般位于主目录的.m2目录下。Maven新建一个项目的目的是建立一个artifact,它可以安装到这个贮藏库中,以方便其它项目使用。还有远程贮藏库,Maven可通过它们获得artifact拷贝,再把它们安装到本地贮藏库中,同样是为了方便其它项目使用。

 Maven通过pom.xml文件中的另一个区域——依赖区域——来了解需要哪些artifact。

jdbm

jdbm

1.0

 

 

[1]    

【责编:Peng】

--------------------next---------------------

阅读(453) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~