Maven入門(一)(HelloMaven)
每次學習新知識,都從helloworld開始,今天也不例外,hellowrold我來了。
一、Maven專案之核心--------pom.xml
1.pom.xml
注:這段程式碼中最重要的就是groupId、artifactId、version,這三個元素定了一個專案基本的座標,<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><!-- 指定當前POM模型版本--> <!-- 定義專案屬於哪個組,這個組和專案需哦在的組織或公司存在關聯 例如:你的公司是kafei;專案名為:.mvnproject;那麼groupId就為:com.kafei.mvnproject--> <groupId>com.kafei.mvnproject</groupId> <!-- 定義當前MAVEN專案在組中唯一的ID--> <artifactId>helloworld</artifactId> <!-- 指定專案當前的版本,SNAPSHOT為快照的意思,隨著專案的發展,版本會不斷的更新--> <version>1.0-SNAPSHOT</version> <!-- 為專案指定更加詳細清楚的名稱,方便使用者更好的閱讀理解--> <name>Maven Hello World Project</name> <!-- 編寫程式碼測試--> <!-- 在測試時需要使用到junit,配置好之後,如果是第一次使用MAVEN, 則在測試時會從中央倉庫下載名為junit_4.11.jar的檔案--> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies> </project>
在maven的世界中,都是以這些基本的座標來進行區分的。
二、編寫主要程式碼(預設Maven假設專案主程式碼位於src/main/java目錄)
a.建立專案主資料夾,這裡以helloword進行命名,遵循MAVEN約定,然後在這個資料夾下建立src/main/java目錄
b.完成a操作後,在src/main/java目錄下建立com/kafei/mvnproject/helloworld/HelloWorld.java
HelloWorld.java:
該JAVA類的包名是:com.kafei.mvnproject.helloworld,與之前在pom.xml配置的groupId、artifactId相吻合。package com.kafei.mvnproject.helloworld; public class HelloWorld { public String sayHello(){ return "Hello Maven"; } public static void main(String[] args){ System.out.print(new HelloWorld().sayHello()); } }
3.編譯程式碼
命令:mvn clean compile
在DOS視窗下,使用CD命令切換到你專案的根目錄
如:cd C:\Users\使用者名稱\Desktop\helloworld,然後執行編譯命令
執行編譯命令後輸出如下圖:
clean告訴Maven清理輸出目錄targer,compile告訴Maven編譯專案主程式碼,從上面輸出的資訊中可以看到Maven首先執行了
clean:clean 任務,刪除target/目錄。預設情況下,Maven構建的所有輸出都在targer目錄中,接著執行resources:resources 任務
最後執行compile:compile 任務,將專案主程式碼編譯至target/classes目錄。
其中clean:clean、resources:resources、compile:compile對應了一些Maven外掛。
注意:在首次使用Maven進行編譯專案時,可能會從中央倉庫下載一些所需的檔案,請耐心等待。
三、編寫測試程式碼
命令:mvn clean test
為了使專案結構清晰,主程式碼與測試程式碼應該放在不同的目錄中。
Maven專案中預設的主程式碼目錄為src/main/java
Maven專案中預設的測試程式碼目錄為src/test/java,應當先建立該目錄,然後在該目錄下建立檔案HelloWorldTest.java
在上文的pom.xml中我已經增加了測試專案的配置。
主要配置如下:
<!-- 在測試時需要使用到junit,配置好之後,如果是第一次使用MAVEN,
則在測試時會從中央倉庫下載名為junit_4.11.jar的檔案-->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
HelloWorldTest.java:
package com.kafei.mvnproject.helloworld;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class HelloWorldTest
{
@Test
public void testSayHello(){
HelloWorld helloWorld=new HelloWorld();
String result=helloWorld.sayHello();
assertEquals("Hello Maven",result);
}
}
執行mvn clean test命令測試通過後輸出如下測試報告:
注意:在首次使用Maven進行測試專案時,輸出的可能比上面的要多,可能會從中央倉庫下載一些所需的檔案,請耐心等待。
從上面的資訊中可以看以看出測試程式碼通過編譯了,編譯後的檔案為target\test-classes\com\kafei\mvnproject\helloworld\HelloWorldTest.class,
接著surefire:test任務執行並且測試,surefire是maven中負責測試的外掛,上圖中的資訊就是測試報告,可以看出一共運行了多少測試、
失敗了多少、出錯了多少、跳過了多少,顯然測試通過了。
至此Maven從建立專案到編寫主程式碼,然後進行測試已經完了,後續會說明怎麼對Maven專案打包和執行。、