引用
原帖地址:http://ttitfly.iteye.com/blog/152557
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,常用命令为:
Java代码
创建Maven项目:mvn archetype:create
编译源代码:mvn compile
编译测试代码:mvn test-compile
运行测试:mvn test
产生site:mvn site
打包:mvn package
在本地Repository中安装jar:mvn install
清除产生的项目:mvn clean
创建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
如果输出:
Java代码
Hello World!
则表示正确。
Maven2也考虑到:不同类型的项目需要拥有不同的目录结构。如创建web项目,可以使用命令:
Java代码
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都会去远程下载,所以配置一个镜像库就比较重要了。
- 大小: 7.1 KB
分享到:
相关推荐
maven2完全使用手册 全面介绍maven2 使用及配置 docx格式
Maven2+Eclipse开发J2EE.pdf Maven2_基础教程.pdf maven2之m2eclipse使用手册.doc Maven2使用.ppt maven2完全使用手册.docx Maven_介绍培训.pptx Maven学习指南.pdf Maven实战.doc Maven实战.pdf Maven构建并管理...
《Maven2使用项目开发规范说明》,图文并茂,详细介绍了使用 Maven2 开发一个规范项目的流程。 目录: 1. 环境配置 3 1.1. 配置Maven2 3 1.2. 配置Eclipse环境变量MIA_LIB 4 1.3. 安装Maven2 的eclipse plugin 4 2. ...
介绍性内容包括了两章:第 1 章介 绍 Apache Maven和第 2 章安 装和运行Maven。第 I 部分 “Maven实战”开发一些实际的例子,并一步步分析这些 例子的结构,同时循循善诱,详细解释,以此来解释Maven。如果你是Maven...
maven 入门教程PDF,包括maven介绍,配置,项目创建,eclipse创建maven项目等
《maven2经典(新手必备)》,作者:李海鹏,DOC 格式,大小 363KB。 内容预览: 一、前言 早就知道maven在java项目的管理方面名声显赫,于是就想着学习掌握之,于是查阅了大量文档。发现这些文档的作者都是java的大腕...
2. 代理配置:如果需要通过代理服务器访问远程仓库或者下载依赖项,可以在settings.xml文件中配置代理服务器的地址和端口号。 3. 构建配置:settings.xml文件中可以配置Maven的构建行为,例如默认的构建目标、构建...
2.项目构建的方式,主要介绍Ant和maven,重点介绍maven。 包含Ant的简介及常用任务,maven的简介、环境配置、maven项目开发,maven依赖、maven仓库等概念以及maven生命周期和maven插件、聚合和继承等。 3.推荐的书籍
介绍性内容包括了两章:第 1 章介绍 Apache Maven和第 2 章安 装和运行Maven。第 I 部分 “Maven实战” 开发一些实际的例子,并一步步分析这些 例子的结构,同时循循善诱,详细解释,以此来解释Maven。如果你是Maven...
2. **依赖管理**:Maven可以自动管理项目的依赖项,开发者只需要在pom.xml文件中指定依赖项的坐标,Maven就会自动下载并管理这些依赖项。 3. **自动化构建**:通过简单的命令行指令,Maven可以自动化地完成编译、...
1. 介绍当前最新版本的maven(2.2.1)著作 2. 给出了项目持续构建最佳实践,包括下列工具的集成: - Continuum,一个持续集成的Server,另一个非常著名的开源server是CruiseControl - Archiva,搭建本地repository ...
maven介绍: Eclise: 缺点: Jar包: 版本管理,解决jar包冲突:删除老的jar包,保留新的jar包 不同的项目,jar包要复制一份;Users Library 羡慕yum的好处,安装软件,自动下载,自动验证,自动安装,自动测试;镜像网站 ...
为学习maven的同行一点点帮助。提供对maven使用方案的介绍。
Maven2快速入门教程主要介绍按照,配置等,对入门有帮助,深入的话自己找去
M2_Home="C:\maven-2.0.6" path=+"C:\maven-2.0.6\bin";
介绍maven如何操作和上手的ppt。个人觉得很值得收藏。
1. 介绍 Apache Maven 1.1. Maven... 它是什么? 1.2. 约定优于配置(Convention Over Configuration) 1.3. 一个一般的接口 1.4. 基于Maven插件的全局性重用 1.5. 一个“项目”的概念模型 1.6. Maven是Ant的...
它内容新颖,基于最新发布的Maven 3.0,不仅详尽讲解了Maven 3.0的所有新功能和新特性,而且还将这些新功能和新特性与Maven 2.x版本进行了对比,以便于正在使用Maven 2.x版本的用户能更好地理解。本书它内容全面,以...