- maven是什么?
简而言之,maven是用于构建和管理任何基于java项目的工具,更详细的解释见官网 2. 下载
点击下载,页面如下 3. 安装
(1)解压
windows直接使用解压软件解压
mac或linux执行解压命令
tar xzvf apache-maven-3.5.0-bin.tar.gz
(2) 配置环境变量
windows:
打开系统变量,添加
M2_HOME=/Users/weidedong/apache-maven-3.5.0
PATH=$PATH:$M2_HOME/bin
mac:
vim .bash_profile
export M2_HOME=/Users/weidedong/apache-maven-3.5.0
export PATH=$PATH:$M2_HOME/bin
souce .bash_profile
linux:
vi /etc/profile
export M2_HOME=/usr/apache-maven-3.5.0
export PATH=$PATH:$M2_HOME/bin
source /etc/profile
```
执行mvn -v验证是否安装成功
mvn -v Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:06+08:00) Maven home: /Users/weidedong/apache-maven-3.5.0 Java version: 1.8.0_112, vendor: Oracle Corporation Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "mac os x", version: "10.12", arch: "x86_64", family: "mac"
4. 配置localRepository位置
打开$M2_HOME/conf/settings.xml,有如下配置
Default: ${user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository>
可知默认localRepository${user.home}/.m2/repository,如果想要修改localRepository,测添加如下配置至
settings.xml
<localRepository>/Library/Java/Maven/repository</localRepository>
并且创建/Library/Java/Maven/repository目录,并复制settings.xml至/Library/Java/Maven/,如下图所示

5. 创建简单java项目
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
(1) 释义:
archetype:generate: 原型生成
-D: 定义属性
groupId:部门名称
artifactId:模块名称
archetypeArtifactId:maven自带的原型模版
interactiveMode:交互模式,如果你选择交互的话,就是有一步一步的选项指引填写groupId等
(2)目录结构
my-app |-- pom.xml -- src |-- main |
-- java | -- com |
-- mycompany | -- app |
-- App.java -- test
-- java -- com
-- mycompany -- app
-- AppTest.java
(3)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>
(4) localRepository
查看localRepository,发现需要的包已经下载到这里

(5) 打包
mvn package
执行命令之后,新产生了target文件夹,里面包含了所有类编译成了class文件,及打成的jar包,如下图所示

(6)run
package com.mycompany.app;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}
```
运行main
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
Hello World!
(7)test
package com.mycompany.app;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* Unit test for simple App.
*/
public class AppTest
extends TestCase
{
/**
* Create the test case
*
* @param testName name of the test case
*/
public AppTest( String testName )
{
super( testName );
}
/**
* @return the suite of tests being tested
*/
public static Test suite()
{
return new TestSuite( AppTest.class );
}
/**
* Rigourous Test :-)
*/
public void testApp()
{
assertTrue( true );
}
}
运行test
mvn test
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.mycompany.app.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
6.idea创建maven简单项目
(1)配置maven
(2)创建简单项目





(3) run
(4) test