服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

maven起步――教你开始使用maven一(图)


  如果你已经有十次输入同样的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。在本章结束时,你应该能够从头建立一个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/code>maven -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-application>maven 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>
  <artifactid>test-application
  </artifactid><name>test application
  </name><currentversion>1.0
  </currentversion><organization>
  <name>
  your organization
  </name>
  <url>http://www.someorganization.biz/</url>
  <logo>http://www.someorganization.biz/logo.gif|jpg|...</logo>
  </organization><inceptionyear>2005</inceptionyear>
  <package>mdn.testapp
  </package>
  <logo>http://yourproject/logo.jpg|gif|...
  </logo><description>an example projec

扫描关注微信公众号