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都会去远程下载,所以配置一个镜像库就比较重要了。
分享到:
相关推荐
Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令
Maven核心命令解析和Maven课程资源库大全Maven核心命令解析和Maven课程资源库大全Maven核心命令解析和Maven课程资源库大全Maven核心命令解析和Maven课程资源库大全Maven核心命令解析和Maven课程资源库大全Maven核心...
Maven常用命令 Maven Maven学习
maven仓库清理命令
对于maven,你不应该只知道在pom中如何引入jar包,还应该了解maven一些常用的命令
Maven 常用命令 Maven 是一个基于项目对象模型(Project Object Model,POM)的项目管理工具,主要用于管理和构建 Java 项目。以下是 Maven 中的一些常用命令: 1. 创建项目 Maven 提供了 archetype 机制来快速...
一、maven常用命令: 1.mvn clean 清空产生的项目( target里) 2.mvn compile 编译源代码 3.mvn install 在本地repository中安装jar(包含mvn compile,mvn package,然后上传到本地仓库) 4.mvn deploy 上传到私服...
maven实用命令
maven常用命令以及以个测试项目方便测试
主要描述了maven的一些常用命令,以备您不时之需
java Maven中常用命令和插件java Maven中常用命令和插件java Maven中常用命令和插件java Maven中常用命令和插件java Maven中常用命令和插件java Maven中常用命令和插件java Maven中常用命令和插件java Maven中常用...
maven 配置简介及项目创建,包括pom.xml详细介绍,eclipse平台maven创建项目编译等
maven常用命令
maven构建Web工程相关的命令行命令的总结
maven的基本命令详解
maven命令详解 零起步简单的了解maven的使用
Maven原理 配置 Maven 的常用命令 Maven Eclipse和MyEclipse 的配置
maven简介、maven安装使用、maven命令使用的详细说明(图文教程) maven简介、maven安装使用、maven命令使用的详细说明(图文教程) maven简介、maven安装使用、maven命令使用的详细说明(图文教程) maven简介、maven安装...