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項目核心配置文件

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