标签:style blog http io ar 使用 java strong sp
一. 什么是maven
Maven是跨平台的项目管理工具, 主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。
1. 高度自己主动化的项目构建
2. 自己主动下载jar包, 统一依赖管理
3. 管理项目名称, 开发者信息等
二. 为什么使用maven
1. 使用IDE的缺点:
a.) 手工操作较多, 编译、測试、部署等工作都是独立的, 非常难一步完毕
b.) 每一个人的IDE配置都不同, 非常easy出现本地代码换个地方编译就出错等问题.
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>
package com.zdp.maven; public class Hello { public String sayHello(String name){ return "Hello "+name+"!"; } }
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); } }
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"; } }
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); } }
标签:style blog http io ar 使用 java strong sp
原文地址:http://www.cnblogs.com/mengfanrong/p/4049948.html