Maven基本操作

第一步. 首先建立MavenHelloWorld项目同时建立Maven约定的目录结构

MavenHelloWorld
 	src
 		main
 			java
 			resources(暂时省略)
 	test
 			java
 			resources(暂时省略)
 	pom.xml

第二步:在src/main/java/cn/itcast/maven目录下新建文件Hello.java

package cn.itcast.maven;

public class HelloWorld {
	public String sayHello(String name){
		return "Hello World :" + name + "!";
	}
}

第三步:在/src/test/java/cn/itcast/maven目录下新建测试文件HelloTest.java

package cn.itcast.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("maven");
		assertEquals("Hello maven!",results);		

	}
	
}

第四步:在项目MavenHelloWorld根目录建立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">
  <!-- 版本:4.0.0 -->
  <modelVersion>4.0.0</modelVersion>
  <!-- 组织名称:暂时使用 组织名称+项目名称 作为组织名称 -->
  <!-- 组织名称:实际名称 按照访问路径规范设置,通常以功能作为名称:eg: junit spring -->
  <groupId>cn.itcast.maven</groupId>
  <!-- 项目名称 -->
  <artifactId>HelloWorld</artifactId>
  <!-- 当前项目版本号:同一个项目开发过程中可以发布多个版本,此处标示0.0.1版 -->
  <!-- 当前项目版本号:每个工程发布后可以发布多个版本,依赖时调取不同的版本,使用不同的版本号 -->
  <version>0.0.1</version>
  <!-- 名称:可省略 -->
  <name>Hello</name>
  
  <!-- 依赖关系 -->
	<dependencies>
		<!-- 依赖设置 -->
		<dependency>
			<!-- 依赖组织名称 -->
			<groupId>junit</groupId>
			<!-- 依赖项目名称 -->
			<artifactId>junit</artifactId>
			<!-- 依赖版本名称 -->
			<version>4.9</version>
			<!-- 依赖范围:test包下依赖该设置 -->
			<scope>test</scope>
		</dependency>		
		
	</dependencies>
</project>


第五步:

a)打开cmd命令行,进入Hello项目根目录(包含有pom.xml文件的目录)
b)执行 mvn compile命令(compile -X  可以看到详细报错信息)
	执行完毕后,生成了maven工程编译完成后字节码文件的生成目录target
c)cmd 中继续录入mvn clean命令
	执行完毕后,字节码生成目录被删除
d)cmd 中录入 mvn clean test命令
	执行完毕后,字节码生成目录中生成了被测试类与测试类的编译字节码和测试执行过程日志与详细报告
e)cmd 中录入 mvn clean compile命令
	组合指令,先执行clean,再执行compile,通常应用于上线前执行,清除测试类
f)cmd 中录入 mvn clean test命令
	组合指令,先执行clean,再执行test,通常应用于测试环节
g)cmd 中录入 mvn clean package命令
	组合指令,先执行clean,再执行package,将项目打包,通常应用于发布前
	执行过程:
		清理————清空环境
		编译————编译源码
		测试————测试源码
		打包————将编译的非测试类打包
h)cmd 中录入 mvn clean install 查看仓库,当前项目被发布到仓库中
	组合指令,先执行clean,再执行install,将项目打包,通常应用于发布前
	执行过程:
		清理————清空环境
		编译————编译源码
		测试————测试源码
		打包————将编译的非测试类打包
		部署————将打好的包发布到资源仓库中
-----------------------------------------------------------------
错误范例:
说明:MAVEN 命令输入错误,命令名称显示在[ERROR] Unknown lifecycle phase "compoile"
引号中的内容为输入错误的名称
[ERROR] Unknown lifecycle phase "compoile". You must specify a valid lifecycle p
hase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin
-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validat
e, initialize, generate-sources, process-sources, generate-resources, process-re
sources, compile, process-classes, generate-test-sources, process-test-sources,
generate-test-resources, process-test-resources, test-compile, process-test-clas
ses, test, prepare-package, package, pre-integration-test, integration-test, pos
t-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-s
ite, site, post-site, site-deploy. -> [Help 1]
第六步:新建第二个项目模块HelloFriend目录及约定的目录结构

HelloFriend
 	src
 		main
 			java
 			resources(暂时省略)
 	test
 			java
 			resources(暂时省略)
 	pom.xml

第七步:在项目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>cn.itcast.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>itcast</groupId>
			<artifactId>HelloWorld</artifactId>
			<version>0.0.1</version>
			<scope>compile</scope>
		</dependency>		
	</dependencies>
</project>

第八步:在src/main/java/cn/itcast/maven目录下新建文件HelloFriend.java

package cn.itcast.maven;

import cn.itcast.maven.HelloWorld;

public class HelloFriend {

	public String sayHelloToFriend(String name){
		HelloWorld hw = new HelloWorld();
		String str = hw.sayHello(name)+" I am "+this.getMyName();
		System.out.println(str);
		return str;
	}
	
	public String getMyName(){
		return "MAVEN";
	}

}

第九步:在/src/test/java/cn/itcast/maven目录下新建测试文件HelloFriendTest.java
package cn.itcast.maven;

import static junit.framework.Assert.assertEquals;

import org.junit.Test;

import cn.itcast.maven.Hello;


public class HelloFriendTest {
	@Test
	public void tesHelloFriend(){
		HelloFriend helloFriend = new HelloFriend();
		String results = helloFriend.sayHelloToFriend("Jock");
		assertEquals("Hello World Jock! I am MAVEN",results);		
	}
}

第十步:在HelloFriend目录下执行命令mvn package

系统报错说没有找到依赖

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

第十二步:重新在HelloFriend目录下执行命令mvn package

成功


Maven工程目录结构
src/main/java —— 存放项目的.java文件
src/main/resources —— 存放项目资源文件,如spring, hibernate配置文件
src/test/java —— 存放所有测试.java文件,如JUnit测试类
src/test/resources —— 测试资源文件
target —— 项目输出位置
pom.xml——maven项目核心配置文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章