Maven简介及eclipse安装Maven插件

Maven

简介
  Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具
 
  目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,Ant 的项目管理工具(作为 make的替代工具)不能满足绝大多数开发人员的需要。通过检查 Ant 构建文件,很难发现项目的相关性信息和其它元信息(如开发人员/拥有者、版本或站点主页)。
 
  Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。事实上,由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
 
  Maven这个单词来自于意第绪语,意为知识的积累,最早在Jakata Turbine项目中它开始被用来试图简化构建过程。当时有很多项目,它们的Ant build文件仅有细微的差别,而JAR文件都由CVS来维护。于是Maven创始者开始了Maven这个项目,该项目的清晰定义包括,一种很方便的发布项目信息的方式,以及一种在多个项目中共享JAR的方式。 [1]
 

编辑本段特点

  那么,Maven 和 Ant 有什么不同呢?在回答这个问题以前,我要强调一点:Maven 和 Ant 针对构建问题的两个不同方面。Ant 为 Java 技术开发项目提供跨平台构建任务。Maven 本身描述项目的高级方面,它从 Ant 借用了绝大多数构建任务。因此,由于 Maven 和 Ant 代表两个差异很大的工具,所以我将只说明这两个工具的等同组件之间的区别,如表 1 所示。[1]
 
  
  Maven Ant
标准构建文件 project.xml 和 maven.xml build.xml
特性处理顺序 ${maven.home}/bin/driver.properties
${project.home}/project.properties
${project.home}/build.properties
${user.home}/build.properties
通过 -D 命令行选项定义的系统特性
最后一个定义起决定作用。
通过 -D 命令行选项定义的系统特性
由 <property> 任务装入的特性
第一个定义最先被处理。
构建规则 构建规则更为动态(类似于编程语言);它们是基于 Jelly 的可执行 XML。 构建规则或多或少是静态的,除非使用 <script> 任务。(请参阅 参考资料以获得相关教程。)
扩展语言 插件是用 Jelly(XML)编写的。 插件是用 Java 语言编写的。
构建规则可扩展性 通过定义 <preGoal> 和 <postGoal> 使构建 goal 可扩展。 构建规则不易扩展;可通过使用 <script> 任务模拟 <preGoal> 和 <postGoal> 所起的作用。
 
  Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
 
  Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。
 
  此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。
 

编辑本段常用命令

  mvn archetype:create 创建Maven项目
 
  mvn compile 编译源代码
 
  mvn test-compile 编译测试源代码
 
  mvn test 运行应用程序中的单元测试
 
  mvn site 生成项目相关信息的网站
 
  mvn clean 清除项目目录中的生成结果
 
  mvn package 根据项目生成的jar
 
  mvn install 在本地Respository中安装jar
 
  mvn eclipse:eclipse 生成eclipse项目文件
 
  mvn jetty:run 启动jetty服务
 
  mvn tomcat:run 启动tomcat服务
 

编辑本段推荐书籍

  目前中文版对maven介绍比较全的书籍是《Maven实战》
 

编辑本段环境配置

  现在Java新架构的不断出现,例如Struts,Spring,Hibernate等,项目的配置文件的增多,给开发人员带来很大麻烦。在实际的开发当中,Myeclipse中的project越来越庞大,所依赖的第三方Jar包越来越多,这显得Project很臃肿,给项目管理带来了很大不便,尤其是在一些大型项目。为了解决上述问题,Apache开源组织发布了Maven[2],它适用于大的Java项目。
 
  系统及环境:Win7 ,Jdk1.6 ,Myeclipse7.5。
 
  首先要安装Jdk1.6 和 Myeclipse7.5 。
 
  1. Maven有一个重要的文件"settings.xml“,这个文件来源于apache-maven-2.0.8/conf/ 下,要放在windows下, Win7和Winxp还是有点不一样 , Win7 ---C:\Users\用户名\.m2 , Winxp ---C:\Documents and Settings\用户名\.m2 。
 
  2. 设置Maven的环境变量,基本上和设置Jdk环境变量相似,首先设置MAVEN_HOME,再加入Path 。
 
  3. 修改”settings.xml” 文件,在这个文件中找到<localRepository>d:/work</localRepository>这一行,进行修改。这一行代表了Maven的Jar包仓库的位置。work下放的都是项目所用到的jar包,每个Project都可以共用一个work。
 
  4. Myeclipse7.5及以上版本本身自带Maven插件。如果使用低版本的Myeclipse需要安装插件,在help菜单中选择software updates,选择find and install,选择search for new features to install-选择new remote site。写入 name:maven URL:http:// m2eclipse.codehaus . org/update/去下载相关jar包和插件。
 
  5. 在Myeclipse中windows-perferences中,在下图的位置上,查看users settings的路径是否正确。
 
  6. 建立Maven的project,File--new—other—Java Maven Project
 
  7. 然后打开project里pom.xml文件,
 
  <project xmlns="http:// maven.apache. org/POM/4.0.0"xmlns:xsi="http://www .w3. org/2001/XMLSchema-instance"
 
  xsi:schemaLocation="http: //maven .apache .o rg/POM/4.0.0http: //m aven.apache . org/maven-v4_0_0.xsd">
 
  <modelVersion>4.0.0</modelVersion>
 
  <groupId>maventest</groupId>
 
  <artifactId>maventest</artifactId>
 
  <packaging>jar</packaging>
 
  <version>0.0.1-SNAPSHOT</version>
 
  <name>Maven Quick Start Archetype</name>
 
  <url>http:// maven.apac he. org</url>
 
  <dependencies>
 
  <dependency>
 
  <groupId>junit</groupId>
 
  <artifactId>junit</artifactId>
 
  <version>3.8.1</version>
 
  <scope>test</scope>
 
  </dependency>
 
  </dependencies>
 
  </project>
 
  在这xml文件中添加Maven所依赖的Jar的名称,也就是添加<dependency></dependency>节点。
 
  例如:添加大家常用的Struts Jar包
 
  <dependency>
 
  <groupId>org.apache.struts</groupId>
 
  <artifactId>struts2-core</artifactId>
 
  <version>2.0.11</version>
 
  </dependency>
 
  8. 到现在为止,环境就算搞定了。接下来要应用Maven来打包Project为大家服务的。
 
  在cmd中的命令:
 
  a. mvn eclipse:clean 清除Project中以前的编译的东西,重新再来
 
  b. mvn eclipse:eclipse 开始编译Maven的Project
 
  在Myeclipse中的操作:
 
  a. 选中Maven Project 右击 在Run As中选择Maven clean
 
  b. 在Myeclipse中,Project—Clean 开始编译
 
  c. 选中Maven Project 右击 在Run As中选择Maven install
 
  执行完这几步,如果没发生异常,会在project里生成一个target文件夹,这个文件夹里的东西,就是Maven打包发布的东西。
 
 

1. 安装m2eclipse插件
   要用Eclipse构建Maven项目,我们需要先安装meeclipse插件
   点击eclipse菜单栏Help->Eclipse Marketplace搜索到插件Maven Integration for Eclipse 并点击安装即可,如下图:

 

 

安装成成之后我们在Eclipse菜单栏中点击File->New->Other,在弹出的对话框中会看到如下图所示:



 

2. 构建Maven项目  

     

      以eclipse3.6为例

      1)创建简单Maven项目

           点击Eclipse菜单栏File->New->Ohter->Maven得到如下图所示对话框:

          

 

选中Maven Project并点击Next,到下一个对话框继续点击Next得到如下对话框



 如图示操作,选择maven-archetype-quickstart,点击Next



 按图示填写好groupId, artfactId,version等信息,点击Finish。

由此我们成功创建了一个简单的Maven项目,项目结构如图所示



 

     2)创建Maven web项目

     操作跟创建简单Maven项目类似,点击Eclipse菜单File->New->Other->Maven->Maven Project

     在选择maven-archetype的界面进行如下操作:

    

 点击Next,填写好相应的groupId,artifactId,version等信息,点击Finish

得到的Maven web项目结构如下图所示:

 

 

 右击项目,点击Properties->Project Facets



 

如上图可以看到项目为web2.3 java1.5 当然我们也可以改成我们所需要的版本,打开xml文件my-app-web/.settings/org.eclipse.wst.common.project.facet.core.xml,进行修改即可:

Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <faceted-project>  
  3.   <fixed facet="wst.jsdt.web"/>  
  4.   <installed facet="java" version="1.5"/>  
  5.   <installed facet="jst.web" version="2.3"/>  
  6.   <installed facet="wst.jsdt.web" version="1.0"/>  
  7. </faceted-project>  
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="java" version="1.5"/>
  <installed facet="jst.web" version="2.3"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

 

     3)导入Maven项目

          在Eclipse project explorer中右击,在弹出框中选择import,得到如下图所示:         

 

      选择Existing Maven Projects,并点击Next,得到如下图所示对话框:

    

 

选择一个已经创建好的Maven项目,并点击Finish。

由此,导入Maven项目成功

 

 

    

3. 运行Maven命令

     

    右击项目,点击Run as,如下图:

 

 

 即可看到有很多现有的maven命令,点击即可运行,并在控制台可以看到运行信息

 如果你想运行的maven命令在这里没有找到,点击Maven build创建新的命令,操作如下图所示:



 

 如下图填入Maven命令,点击Run即可



 

新增的maven命令可以通过如下方式找到,并再次运行:



 

 

posted @ 2012-11-27 11:03  蜗牛123  阅读(734)  评论(0编辑  收藏  举报