分享
 
 
 

Maven起步——教你开始使用Maven一(图)

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

假如你已经有十次输入同样的Ant targets来编译你的代码、jar或者war、生成javadocs,你一定会自问,是否有有一个重复性更少却能同样完成该工作的方法。Maven便提供了这样一种选择,将你的注重力从作业层转移到项目治理层。Maven项目已经能够知道如何构建和捆绑代码,运行测试,生成文档并宿主项目网页。

O'Reilly's的新书Maven:A Developer's Notebook帮你提升你的项目、使其尽快的运行起来,同时也提供了对Maven插件及其团队协作等高级特性的深度考察。在“Maven Jump-Start” (656K PDF)的示范章节中,作者Vincent Massol和Timothy M.O'Brien向你展示了如何安装Maven,如何开始你初次的构建,研究如何使其与IDEs集成极其资源管等特性。

Vincent Massol是Jakarta Catus framework(框架)的创建者。其后他花费4年的时间在几个大项目(主要是J2EE)的架构技术上。他现在是Pivolis的创办人和CTO,这是一家专注于应用灵敏方法进行软件开发的公司。他现在居住在法国的首都City of Light(巴黎)。

Timothy M. O'Brien作为一个专业的歌手/程序员现正在芝加哥地区工作和生活。

让我们开始使用Maven。在本章结束时,你应该能够从头建立一个Maven的项目,使用Maven进行相关治理,创建基于某些感爱好报告的简单的web站点。

安装Maven

开始本书以前,你有一些必备的安装工作。本书中的例子用Java1.4.2编写,Maven能够兼容Java1.4.2和Java1.5.0。本书中所写Maven的最新版本是在编写本书时发布的—Maven 1.0.2。除JDK和Maven1.0.2之外,你还需要连接到Internet,Maven将通过公网站点下载相关其需要的。那么,前进,安装Maven吧。

我该如何做?

从Apache Software Foundation(ASF)下载Maven。进入http://maven.apache.org/从左侧的导航菜单中的Getting Maven菜单选择下载。它将带你进入一个让你选择Windows 安装包、zip文件、tar'd.bzip文件或者tar'd.gzip文件。下载适合你平台的分类。

我该如何做?

从Apache Software Foundation(ASF)下载Maven。进入http://maven.apache.org/从左侧的导航菜单中的Getting Maven菜单选择下载。它将带你进入一个让你选择Windows 安装包、zip文件、tar'd.bzip文件或者tar'd.gzip文件。下载适合你平台的分类。

提示

某些Developer's Notebook中涉及的插件未与Maven1.0.2绑定。请参考第6章并且附录A有安装Maven所需插件的全部列表以及具体说明。

在Microsoft Windows平台,下载Windows安装包(maven-1.0.2.exe),跟随自动安装过程中的提示。在使用Maven Windows 安装器进行安装后,你应该定义一个用户环境变量,MAVEN_HOME,指向你本地的Maven安装。你此时需要进入控制面版→系统→高级选择环境变量按钮,添加%MAVEN_HOME%\bin到你的PATH环境变量。进入命令提示行运行cmd.exe,假如Maven安装成功,你将能够看到命令行有下面的输出:

C:\dev\mavenbook\codemaven -v

__ __

\/ __ _Apache__ ___

\/ / _` \ V / -_) ' \ ~ intelligent PRojects ~

_ _\__,_\_/\_____ v. 1.0.2

假如你愿意安装Maven到一个除了C:\Program Files\Apache Software Foundation\Maven 1.0.2的目录,你也可以下载Maven1.0.2.zip文件,解压缩到任何目录。设置MAVEN_HOME指 向到Maven解压缩的目录,并且添加%MAVEN_HOME%\Bin到你的PATH环境变量。

在Unix平台,下载tar'd.zip文件(Maven-1.0.2.tar.gz)并接压缩tar xvzf maven-1.0.2.tar.gz到你选择的目录。本试验假设你解压Maven到/usr/local/maven-1.0.2目录下。你此时需要设置两个环境变量,MAVEN_HOME和PATH。下面的命令为这两个变量设置适当的值:

[tobrien@mavenbook tobrien]$ eXPort MAVEN_HOME=/usr/local/maven-1.0.2

[tobrien@mavenbook tobrien]$ export PATH=${PATH}:${MAVEN_HOME}/bin

假如Maven被成功安装到你的机器,你能够看到与Windows系统同样的输出。恭喜!你已经成安装了Maven。

提示

有些人喜欢保存本地应用程序在Unix下的/opt目录或

Windows下的c:\apps。你可以根据个人喜好安装Maven。

刚刚发生了什么?

你刚刚安装了Maven1.0.2并且配置了一些环境变量。是的!一旦你对MAVEN_HOME进行了有效的设置或是maven.bat或maven.sh已经存在,你已经能够完成Developer's Notebook本次的实验。

关于......Maven 2?

是时机提及Maven 2(有时也被称为“m2”)。Maven 2完成了对Maven 1的重写。重写的首要目的是要提供了强大的Jave构建和包含API的项目,答应Maven被植入任何地方,尤其是高级别的产品如IDEs、质量工具、报告工具等这些。Maven 2构建生命周期的概念正式话,其比Maven更易扩展。

Maven 1和Maven 2有许多共同点,但它们还有几个主要的不同之处。在书中的各个部分我们尽可能提示你所希望了解的那些不同之处。更多关于Maven 2的信息,请转到http://maven.apache.org/下载Maven 2的体验版本,并加入Maven用户或开发者邮件列表。假如你听过Continuous Integration,你可能也想看一看命名为Continuum的Maven子项目,地址在http://maven.apache.org/continuum。

开始一个新的项目

创建新项目的争论一部分在于有很大部分的工作努力被用到在“发展基础设施”上—自动构建、单元测试、文档、项目报告等。使用Maven你可以加速这个过程,生成项目的框架使其作为新应用的种子。

我该如何做?

Maven拥有一个应用程序生成插件(Genapp)你能通过其创建一个新项目。首先创建一个空的目录c:\dev\mavenbook\code\genapp\test-application这将成为应用程序生成后的处所。通过执行genapp这个目标来运行Genapp插件,选择默认的模版并且提供一些你的新项目的相关信息。

C:\dev\mavenbook\code\genapp\test-applicationmaven genapp

__ __

\/ __ _Apache__ ___

\/ / _` \ V / -_) ' \ ~ intelligent projects ~

_ _\__,_\_/\_____ v. 1.0.2

Attempting to download commons-jelly-tags-interaction-20030211.143817.jar.4K downloadedEnter a project template to use: [default][Enter]Please specify an id for your application:

[app]test-applicationPlease specify a name for your application: [Example Application]Test ApplicationPlease specify the package for your application: [example.app]mdn.testappbuild:start:genapp:

[copy] Copying 1 file to C:\dev\mavenbook\code\genapp\test-application\src\java\mdn\testapp[copy] Copying 3 files to C:\dev\mavenbook\code\genapp\test-application\src\test\mdn\testapp[copy] Copying 1 file to C:\dev\mavenbook\code\genapp\test-application\[copy] Copying 2 files to C:\dev\mavenbook\code\genapp\test-application\BUILD SUCCESSFUL

本插件会要求用户一些输入,从这个输出内容你可以看到你使用了默认的(defalut)应用程序模板,并且你提供了新项目的应用程序ID、name,和包名。默认的(default)应用程序模板创建了一个单独的类,mdn.testapp.app,和一个静态main函数和两个JUnit测试。

Maven的应用程序生成插件生成了下面的目录和文件:

test-application/project.propertiesproject.xmlsrc/conf/app.propertiesjava/mdn/testapp/App.javatest/mdn/testapp/AbstractTestCase.javaAppTest.javaNaughtyTest.java

所有Maven项目有一个参考了项目对象模型(POM)的标准目录结构, (as described shortly)。假如你有一些现存的类你想添加到一个项目,添加它们到src/java,假如你有一些单元测试将它们添加到src/test。假如这些已有的类和单元测试依靠一些外部的苦,你将在随后的章节看到如何添加一个附属。xdos目录包含了格式为XDoc的项目文档。

提示

请注重Maven1.0.2装载的Genapp插件版本创建了非标准的布局。在Maven项目中src/java和src/test不再出现在固有的源代码和单元测试位置。取而代之的是你可以使用src/main/java和src/test/java.为了改变这些,修改你项目的xml文件,改变src/java的引用为src/main-/java,src/test的引用为src/test/java.更多的信息,请参见“Maven Conventions”,地址在http://maven.apache.org/-reference/conventions.Html.

project.xml是项目的描述符;它是一个内容为POM的XML文件。让我们看看这个project.xml的拷贝,其已经定义了这个项目:

<project

<pomVersion

3</pomVersion

<artifactIdtest-application

</artifactId<nameTest Application

</name<currentVersion1.0

</currentVersion<organization

<name

Your Organization

</name

<urlhttp://www.someorganization.biz/</url

<logohttp://www.someorganization.biz/logo.gifjpg...</logo

</organization<inceptionYear2005</inceptionYear

<packagemdn.testapp

</package

<logohttp://yourproject/logo.jpggif...

</logo<descriptionAn example projec

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有