Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。为了替代ANT的Apache开源项目。现在的项目越来越大。ANT已经不适用了。
1.部署maven:
A.下载maven开源包:http://maven.apache.org/download.cgi
B.解压配置环境变量:我的电脑----环境变量
新增变量: M2_HOME
变量值:F:\maven\apache-maven-3.0.3
更新path变量(尾部增加):;%M2_HOME%\bin;
C.cmd----打开命令提示符 mvn -v
2.测试连接中央查看网络
mvn help:system
将会打印很多信息,仓库中将会新增很多jar包。
系统默认仓库位于:C:\administrator\.m2\repository中。
我们可以修改..\apache-maven-3.0.3\conf\目录下的setting.xml文件,设置成我们自己的仓库路径
3.maven常用命令
1 1. 创建Maven的普通java项目: 2 mvn archetype:create 3 -DgroupId=packageName 4 -DartifactId=projectName 5 2. 创建Maven的Web项目: 6 mvn archetype:create 7 -DgroupId=packageName 8 -DartifactId=webappName 9 -DarchetypeArtifactId=maven-archetype-webapp 10 3. 编译源代码: mvn compile 11 4. 编译测试代码:mvn test-compile 12 5. 运行测试:mvn test 13 6. 产生site:mvn site 14 7. 打包:mvn package 15 8. 在本地Repository中安装jar:mvn install 16 9. 清除产生的项目:mvn clean 17 10. 生成eclipse项目:mvn eclipse:eclipse 18 11. 生成idea项目:mvn idea:idea 19 12. 组合使用goal命令,如只打包不测试:mvn -Dtest package 20 13. 编译测试的内容:mvn test-compile 21 14. 只打jar包: mvn jar:jar 22 15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile ( -skipping 的灵活运用,当然也可以用于其他组合命令) 23 16. 清除eclipse的一些系统设置:mvn eclipse:clean
4.pom.xml文件详解
<!-- 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.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <!-- 指明POM使用的对象模型的版本 --> <modelVersion>4.0.0</modelVersion> <!-- groupId:指明创建项目的组织或者小组的唯一标识。GroupId是项目的关键标识,典型的,此标识以组织的完全限定名来定义。 比如,org.apache.maven.plugins是所有Maven插件项目指定的groupId。 --> <groupId>com.chongshi.test</groupId> <!-- artifactId:指明此项目产生的主要产品的基本名称。项目的主要产品通常为一个JAR文件。 第二,象源代码包通常使用artifactId作为最后名称的一部分。 --> <artifactId>hello</artifactId> <!-- version:项目产品的版本号。Maven帮助你管理版本,可以经常看到SNAPSHOT这个版本,表明项目处于开发阶段。 --> <version>1.0</version> <packaging>jar</packaging> <!-- name:项目的显示名称,通常用于maven产生的文档中。 --> <name>hello</name> <!-- url:指定项目站点,通常用于maven产生的文档中。 --> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- 项目依赖的jar,根据这些maven会从中央仓库查找下载对应的版本jar。 --> <dependency> <!-- 3.8.1版本的junit.jar 且只在测试范围有效。--> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
5.Eclipse实用
我们的项目已经创建完成。但我们点开目录发现,它并不是我们eclipse所需要的项目目录格式。我们需要把它构建成我们eclipse可以导入的项目。
在命令提示符下进入到我们的创建的项目目录(F:\maven\hello)下,执行:mvn clean compile
Clean 告诉maven清理输入出目录target/,compile告诉maven编译项目主代码。
项目是编译完了,但项目的目录结构还不是我们想要的eclipse的项目结构,是不能导入到eclipse中的。所以,还需要执行一个命令:mvn eclipse:eclipse
命令执行完成后就得我们需要的项目目录了。
Eclipse配置maven仓库路径:Window----Perferences-----java-----Build Path-----Classpath Variables
New一个变量的类路径。
Name :M2_REPO 注意这个名字必须要大写。
Path :F:/maven/repo 点击“Folder…”找到有本地仓库的位置。
这样项目导入时就可以使用了。当修改pom.xml时就会自动下载jar。输入命令执行指定操作。
Maven 中央仓库地址:http://search.maven.org