Maven 使用教程
Maven 网址
Maven 官方网站,官方网站有关于 Maven 的一切。
Maven 百度百科
Maven 是什么?
Maven 是一个项目管理工具
,主要用于项目构建,依赖管理,项目信息管理。
Maven 有什么作用?
帮你下载jar包
maven 项目会有一个 pom.xml 文件, 在这个文件里面,只要你添加相应配置,他就会自动帮你下载相应 jar 包,不用你铺天盖地的到处搜索你需要的 jar 包了。
<dependency>
<groupId>junit</groupId> 项目名
<artifactId>junit</artifactId> 项目模块
<version>3.8.1</version> 项目版本
<scope>test</scope>
</dependency>
maven都会通过,项目名-项目模块-项目版本来maven在互联网上的代码库中下载相应jar包。
寻找依赖,帮你下载依赖
在maven的代码库中,每一个jar包也有自己的 pom.xml文件,而这个文件里面也会有<dependency>
配置,只要你配置的jar包所依赖的其他jar包都会被maven自动下载下来。
热部署,热编译
在你web项目已经运行的时候,修改代码的能直接被web服务器所接受,就不需要你重启服务器了,或者重新部署代码了,而且你可以直接通过maven 打包war或者jar项目。
下载及安装
下载
Maven 官方下载网址:http://maven.apache.org/download.cgi

解压文件

安装
设置系统环境变量


测试是否成功
mvn -v

Maven 项目文件结构
-
src/main/java
- 存放项目.java文件; -
src/main/resources
- 存放项目资源文件; -
src/test/java
- 存放测试类.java文件; -
src/test/resources
- 存放测试资源文件; -
target
- 项目输出目录; -
pom.xml
- Maven核心文件(Project Object Model);
Maven 常用命令
-
mvn archetype:create
创建Maven项目 -
mvn compile
编译源代码 -
mvn deploy
发布项目 -
mvn test-compile
编译测试源代码 -
mvn test
运行应用程序中的单元测试 -
mvn site
生成项目相关信息的网站 -
mvn clean
清除项目目录中的生成结果 -
mvn package
根据项目生成的jar -
mvn install
在本地Repository中安装jar -
mvn eclipse:eclipse
生成eclipse项目文件 -
mvnjetty:run
启动jetty服务 -
mvntomcat:run
启动tomcat服务 -
mvn clean package -Dmaven.test.skip=true
清除以前的包后重新打包,跳过测试类
用到最多的命令
-
mvn eclipse:clean
清除Project中以前的编译的东西,重新再来 -
mvn eclipse:eclipse
开始编译Maven的Project -
mvn clean package
清除以前的包后重新打包
Eclipse 创建 Maven 项目
安装 Maven 插件
Help->Eclipse Marketplace搜索到插件Maven Integration for Eclipse 并点击安装即可(一般Eclipse已经集成)。

新建 Maven Java 工程
在需要新建 Maven Java 工程的目录下,进入命令行模式。
mvn archetype:generate -DgroupId=com.yano -DartifactId=MavenJavaTest -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

其目录结构为

Eclipse 导入 Maven 工程



导入 JAR 包
例如我想使用 JSON 解析,需要引入 JSON JAR 包。
首先进入 Maven 中心仓库:http://search.maven.org/,搜索“JSON”,选择想要的 JSON JAR 包。


确定使用第一个JAR包,则在POM.XML
的<dependencies>
中,加入以下代码:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160212</version>
</dependency>
其中groupId
,artifactId
,version
要与之对应,Maven 会根据 POM 文件自动下载所需 JAR 包。如果以后你在本地其它项目中也使用此 JAR 包,那么 Maven 会首先检查本地是否有 JAR 包,如果没有再从中央仓库下载。
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.yano</groupId>
<artifactId>MavenJavaTest</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>MavenJavaTest</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160212</version>
</dependency>
</dependencies>
</project>