Maven 网址
Maven 是什么?
Maven 是一个项目管理工具,主要用于项目构建,依赖管理,项目信息管理。
Maven 有什么作用?
帮你下载jar包
maven 项目会有一个 pom.xml 文件, 在这个文件里面,只要你添加相应配置,他就会自动帮你下载相应 jar 包,不用你铺天盖地的到处搜索你需要的 jar 包了。
junit 项目名
junit 项目模块
3.8.1 项目版本
test
maven都会通过,项目名-项目模块-项目版本来maven在互联网上的代码库中下载相应jar包。
寻找依赖,帮你下载依赖
在maven的代码库中,每一个jar包也有自己的 pom.xml文件,而这个文件里面也会有配置,只要你配置的jar包所依赖的其他jar包都会被maven自动下载下来。
热部署,热编译
在你web项目已经运行的时候,修改代码的能直接被web服务器所接受,就不需要你重启服务器了,或者重新部署代码了,而且你可以直接通过maven 打包war或者jar项目。
下载及安装
下载
Maven 下载图片1
解压文件
解压文件
安装
设置系统环境变量
系统变量设置1
系统变量设置2
测试是否成功
mvn -v
MNV 测试
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 插件
新建 Maven Java 工程
在需要新建 Maven Java 工程的目录下,进入命令行模式。
mvn archetype:generate -DgroupId=com.yano -DartifactId=MavenJavaTest -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
新建Maven工程
其目录结构为
目录结构
Eclipse 导入 Maven 工程
导入 Maven 工程1
导入 Maven 工程2
导入 Maven 工程3
导入 JAR 包
例如我想使用 JSON 解析,需要引入 JSON JAR 包。
首先进入 Maven 中心仓库:http://search.maven.org/,搜索“JSON”,选择想要的 JSON JAR 包。
JAR 1
JAR 2
确定使用第一个JAR包,则在POM.XML的中,加入以下代码:
org.json
json
20160212
其中groupId,artifactId,version要与之对应,Maven 会根据 POM 文件自动下载所需 JAR 包。如果以后你在本地其它项目中也使用此 JAR 包,那么 Maven 会首先检查本地是否有 JAR 包,如果没有再从中央仓库下载。
POM.XML 最终代码
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
com.yano
MavenJavaTest
jar
1.0-SNAPSHOT
MavenJavaTest
http://maven.apache.org
junit
junit
3.8.1
test
org.json
json
20160212