`
ttitfly
  • 浏览: 614860 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

maven2介绍

阅读更多
Maven2主要配置文件:pom.xml和settings.xml。
POM是Maven的核心对象模型,对于项目,一般只需要pom.xml就行了。
settings.xml配置在Maven2中存在两种级别:

用户级,针对操作系统登录用户而言。一般在$home/.m2/,对于windows用户,就是目录:C:\Documents and Settings\用户名\.m2\settings.xml。
全局级:一般在%M2_HOME%/conf/settings.xml,M2_HOME是Maven2的根目录环境变量名。


Maven2提供预定义的目录模板
如图:



具体应用如下:
1.下载maven2
http://maven.apache.org/download.html

2.设置二环境变量:解压,如解压在D:\mvntest,然后设置系统环境变量M2_HOME=D:\apache-maven-2.0.8 ,path变量里添加D:\apache-maven-2.0.8\bin,方便Maven在任何目录下运行。

3.mvn -h可以查看帮助
如执行mvn --version可以查看版本信息
mvn --version

可以显示类似这样的信息:
Maven version: 2.0.8
Java version: 1.6.0
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"


4.创建一个新项目:
Maven2的运行命令是mvn,常用命令为:

创建Maven项目:mvn archetype:create 
编译源代码:mvn compile 
编译测试代码:mvn test-compile 
运行测试:mvn test 
产生site:mvn site 
打包:mvn package 
在本地Repository中安装jar:mvn install 
清除产生的项目:mvn clean 

如:创建一个新项目:
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

说明:artifactId是项目名称,groupId则是项目的包结构。
如果是第一次运行,则需要花费一段时间,这是因为maven会下载最新的plugin jars和一些其它所需要的文件到你本地的repository.
当完成以后,
cd my-app

可以看到标准的maven结构:
my-app
|-- pom.xml
`-- src
    |-- main
    |   `-- java
    |       `-- com
    |           `-- mycompany
    |               `-- app
    |                   `-- App.java
    `-- test
        `-- java
            `-- com
                `-- mycompany
                    `-- app
                        `-- AppTest.java

src/main/java 目录包含项目的code资源,  src/test/java 目录包含测试code, pom.xml 是项目的 Project Object Model( POM )

Maven2还会创建缺省的pom.xml。在Maven2里,pom.xml文件是一个项目的核心配置.


该项目生成的默认的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.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>my-app</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>


如果想把整个项目打包,则只需要执行命令:

mvn package


打包的jar文件的名称是根据pom.xml里<artifactId>的值和 <version>的值连接起来组成的。中间用-连接,如本项目的jar包及位置为D:\mvntest\my-app\target\my-app-1.0-SNAPSHOT.jar

也可以测试一下该jar包,执行命令:
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App

如果输出:
Hello World!

则表示正确。

Maven2也考虑到:不同类型的项目需要拥有不同的目录结构。如创建web项目,可以使用命令:

mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp


在Maven2中有了明确的生命周期概念,而且都提供与之对应的命令,使得项目构建更加清晰明了。主要的生命周期阶段:

validate,验证工程是否正确,所有需要的资源是否可用。
compile,编译项目的源代码。
test-compile,编译项目测试代码。
test,使用已编译的测试代码,测试已编译的源代码。
package,已发布的格式,如jar,将已编译的源代码打包。
integration-test,在集成测试可以运行的环境中处理和发布包。
verify,运行任何检查,验证包是否有效且达到质量标准。
install,把包安装在本地的repository中,可以被其他工程作为依赖来使用
deploy,在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
generate-sources,产生应用需要的任何额外的源代码,如xdoclet。
如果要执行项目编译,那么直接输入:mvn compile即可,对于其他的阶段可以类推。阶段之间是存在依赖关系(dependency)的,如test依赖test-compile。在执行mvn test时,会先运行mvn test-compile,然后才是mvn test

因为maven2 是有生命周期这一概念的,所以如果你执行package,相应的以前步骤,如compile,test等都会自动执行。
刚开始执行会比较慢,需要从maven2远程库中下载所有的文件到本地。如果你的本地没有相应的依赖包,则每次maven都会去远程下载,所以配置一个镜像库就比较重要了。


分享到:
评论

相关推荐

    maven2完全使用手册

    maven2完全使用手册 全面介绍maven2 使用及配置 docx格式

    maven eclipse 培训教程

    Maven2+Eclipse开发J2EE.pdf Maven2_基础教程.pdf maven2之m2eclipse使用手册.doc Maven2使用.ppt maven2完全使用手册.docx Maven_介绍培训.pptx Maven学习指南.pdf Maven实战.doc Maven实战.pdf Maven构建并管理...

    Maven2使用项目开发规范说明.doc

    《Maven2使用项目开发规范说明》,图文并茂,详细介绍了使用 Maven2 开发一个规范项目的流程。 目录: 1. 环境配置 3 1.1. 配置Maven2 3 1.2. 配置Eclipse环境变量MIA_LIB 4 1.3. 安装Maven2 的eclipse plugin 4 2. ...

    maven2权威指南

    介绍性内容包括了两章:第 1 章介 绍 Apache Maven和第 2 章安 装和运行Maven。第 I 部分 “Maven实战”开发一些实际的例子,并一步步分析这些 例子的结构,同时循循善诱,详细解释,以此来解释Maven。如果你是Maven...

    maven基础入门教程

    maven 入门教程PDF,包括maven介绍,配置,项目创建,eclipse创建maven项目等

    maven2经典(新手必备).doc

    《maven2经典(新手必备)》,作者:李海鹏,DOC 格式,大小 363KB。 内容预览: 一、前言 早就知道maven在java项目的管理方面名声显赫,于是就想着学习掌握之,于是查阅了大量文档。发现这些文档的作者都是java的大腕...

    Maven的Settings的较为不错的文件以及配置介绍

    2. 代理配置:如果需要通过代理服务器访问远程仓库或者下载依赖项,可以在settings.xml文件中配置代理服务器的地址和端口号。 3. 构建配置:settings.xml文件中可以配置Maven的构建行为,例如默认的构建目标、构建...

    版本管理及项目构建和maven的介绍使用

    2.项目构建的方式,主要介绍Ant和maven,重点介绍maven。 包含Ant的简介及常用任务,maven的简介、环境配置、maven项目开发,maven依赖、maven仓库等概念以及maven生命周期和maven插件、聚合和继承等。 3.推荐的书籍

    maven权威指南

    介绍性内容包括了两章:第 1 章介绍 Apache Maven和第 2 章安 装和运行Maven。第 I 部分 “Maven实战” 开发一些实际的例子,并一步步分析这些 例子的结构,同时循循善诱,详细解释,以此来解释Maven。如果你是Maven...

    Maven介绍安装和配置详解

    2. **依赖管理**:Maven可以自动管理项目的依赖项,开发者只需要在pom.xml文件中指定依赖项的坐标,Maven就会自动下载并管理这些依赖项。 3. **自动化构建**:通过简单的命令行指令,Maven可以自动化地完成编译、...

    Apache Maven 2 Effective Implementation

    1. 介绍当前最新版本的maven(2.2.1)著作 2. 给出了项目持续构建最佳实践,包括下列工具的集成: - Continuum,一个持续集成的Server,另一个非常著名的开源server是CruiseControl - Archiva,搭建本地repository ...

    maven的优缺点 项目

    maven介绍: Eclise: 缺点: Jar包: 版本管理,解决jar包冲突:删除老的jar包,保留新的jar包 不同的项目,jar包要复制一份;Users Library 羡慕yum的好处,安装软件,自动下载,自动验证,自动安装,自动测试;镜像网站 ...

    maven2用户手册

    为学习maven的同行一点点帮助。提供对maven使用方案的介绍。

    Maven2快速入门教程

    Maven2快速入门教程主要介绍按照,配置等,对入门有帮助,深入的话自己找去

    maven配置详细介绍

    M2_Home="C:\maven-2.0.6" path=+"C:\maven-2.0.6\bin";

    maven2简单上手

    介绍maven如何操作和上手的ppt。个人觉得很值得收藏。

    Maven权威指南 很精典的学习教程,比ANT更好用

    1. 介绍 Apache Maven 1.1. Maven... 它是什么? 1.2. 约定优于配置(Convention Over Configuration) 1.3. 一个一般的接口 1.4. 基于Maven插件的全局性重用 1.5. 一个“项目”的概念模型 1.6. Maven是Ant的...

    Maven实战.pdf

    它内容新颖,基于最新发布的Maven 3.0,不仅详尽讲解了Maven 3.0的所有新功能和新特性,而且还将这些新功能和新特性与Maven 2.x版本进行了对比,以便于正在使用Maven 2.x版本的用户能更好地理解。本书它内容全面,以...

Global site tag (gtag.js) - Google Analytics