Maven安装与配置

一. 什么是maven

Maven是跨平台的项目管理工具, 主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。

1. 高度自动化的项目构建

2. 自动下载jar包, 统一依赖管理

3. 管理项目名称, 开发人员信息等


二. 为什么使用maven

1. 使用IDE的缺点:

a.) 手工操作较多, 编译、测试、部署等工作都是独立的, 很难一步完成

b.) 每个人的IDE配置都不同, 很容易出现本地代码换个地方编译就出错等问题.


2. 使用ant的缺点:

a.) 没有一个约定的目录结构

b.) 必须明确让ant做什么, 什么时候做, 然后编译、打包

c.) 没有生命周期, 必须定义妙及其实现的任务序列

d.) 没有集成依赖管理


3. 使用maven的好处:

a.) 拥有约定的目录结构, 知道你的代码在哪里, 放到哪里去
b.) 拥有一个生命周期, 例如执行mvn install 就可以自动执行编译测试打包等构建过程
c.) 只需要定义一个pom.xml, 然后把源码放到默认的目录, maven会帮你处理其他事情
d.) 拥有依赖管理,仓库管理



三. maven的安装

1. 检查jdk安装的情况(要1.6版本)
   echo %JAVA_HOME%
   Java -version
2. 对apache-maven-3.0.3-bin.zip进行解压缩, 例如解压到如下目录(解压目录最好不要有中文字)



3. 设置系统环境变量, MAVEN_HOME



4. 设置环境变量Path, 将%MAVEN_HOME%\bin加入Path中, 一定要注意要用分号; 与其他值隔开



5. 验证安装是否成功, 打开cmd窗口, 敲入mvn –v 查看



6. Maven安装目录分析

a.) bin:含有mvn运行的脚本
b.) boot:含有plexus-classworlds类加载器框架
c.) conf:含有settings.xml配置文件
d.) lib:含有Maven运行时所需要的java类库
e.) LICENSE.txt, NOTICE.txt, README.txt针对Maven版本,第三方软件等简要介绍


四. 第一个maven项目

1. 首先建立Hello项目同时建立Maven约定的目录结构
Hello
 |------src
          |------main
                   |------java  (存放项目的Java文件)
                   |------resources  (存放项目的资源文件, 如: spring, hibernate配置文件)
          |------test
                   |------java  (存放所有测试的Java文件, 如: JUnit测试类)
                   |------resources  (存放测试的资源文件)

 |------target  (项目编译后文件)
 |------pom.xml

2. 在项目Hello根目录建立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">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.zdp.maven</groupId>
  <artifactId>Hello</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>Hello</name>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.9</version>
			<scope>test</scope>
		</dependency>		
	</dependencies>
</project>

3. 在src/main/java/com/zdp/maven目录下新建文件Hello.java

package com.zdp.maven;
public class Hello {
	public String sayHello(String name){
		return "Hello "+name+"!";
	}
}

4. 在/src/test/java/com/zdp/maven目录下新建测试文件HelloTest.java

package com.zdp.maven;
import org.junit.Test;
import static junit.framework.Assert.*;
public class HelloTest {
	@Test
	public void testHello(){
		Hello hello = new Hello();
		String results = hello.sayHello("litingwei");
		assertEquals("Hello litingwei!",results);		
	}
}

5. 测试一下吧:

a.) 打开cmd命令行, 进入Hello项目根目录执行 mvn compile命令查看根目录变化
b.) cmd 中继续录入mvn clean命令然后再次查看根目录变化
c.) cmd 中录入mvn clean compile命令, 查看根目录变化
d.) cmd 中录入mvn clean test命令查看根目录变化
e.) cmd 中录入mvn clean package命令, 查看根目录变化


五. 第二个maven项目

1. 首先建立HelloFriend项目同时建立Maven约定的目录结构

HelloFriend

 |------src
          |------main
                   |------java  (存放项目的Java文件)
                   |------resources  (存放项目的资源文件, 如: spring, hibernate配置文件)
          |------test
                   |------java  (存放所有测试的Java文件, 如: JUnit测试类)
                   |------resources  (存放测试的资源文件)

 |------target  (项目编译后文件)
 |------pom.xml


2. 在项目HelloFriend根目录建立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">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.zdp.maven</groupId>
  <artifactId>HelloFriend</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>HelloFriend</name>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.9</version>
			<scope>test</scope>
		</dependency>		
		<dependency>
			<groupId>com.zdp.maven</groupId>
			<artifactId>Hello</artifactId>
			<version>0.0.1-SNAPSHOT</version>
			<scope>compile</scope>
		</dependency>		
	</dependencies>
</project>


3. 在src/main/java/com/zdp/maven目录下新建文件HelloFriend.java

package com.zdp.maven;
import com.zdp.maven.Hello;
public class HelloFriend {
	public String sayHelloToFriend(String name){
		Hello hello = new Hello();
		String str = hello.sayHello(name)+" I am "+this.getMyName();
		System.out.println(str);
		return str;
	}
	public String getMyName(){
		return "John";
	}
}

4. 在/src/test/java/com/zdp/maven目录下新建测试文件HelloFriendTest.java
package com.zdp.maven;
import static junit.framework.Assert.assertEquals;
import org.junit.Test;
import com.zdp.maven.Hello;
public class HelloFriendTest {
	@Test
	public void tesHelloFriend(){
		HelloFriend helloFriend = new HelloFriend();
		String results = helloFriend.sayHelloToFriend("litingwei");
		assertEquals("Hello litingwei! I am John",results);		
	}
}

5. 在HelloFriend目录下执行命令mvn package, 系统报错说没有找到依赖

6. 需要重新构建Hello第一个项目并安装到数据仓库, 在命令行Hello根目录下执行mvn clean install

7. 重新在HelloFriend目录下执行命令mvn package



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值