Maven 構建 & 項目測試

在上一章節中我們學會了如何使用 Maven 創建 Java 應用。接下來我們要學習如何構建和測試這個項目。

進入 C:/MVN 文件夾下,打開 consumerBanking 文件夾。你將看到有一個 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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.companyname.bank</groupId> <artifactId>consumerBanking</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>consumerBanking</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>

從以上 xml代碼中,可知 Maven 已經添加了 JUnit 作為測試框架。

默認情況下 Maven 添加了一個源碼文件 C:\MVN\consumerBanking\src\main\java\com\companyname\bank\App.java 和一個測試文件 C:\MVN\consumerBanking\src\test\java\com\companyname\bank\AppTest.java

打開命令控製台,跳轉到 C:\MVN\consumerBanking 目錄下,並執行以下 mvn 命令開始構建項目:

C:\MVN\consumerBanking>mvn clean package
[INFO] Scanning for projects...
[INFO] -------------------------------------------------------------------
[INFO] Building consumerBanking
[INFO]    task-segment: [clean, package]
[INFO] -------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting directory C:\MVN\consumerBanking\target
...
...
...
[INFO] [jar:jar {execution: default-jar}]
[INFO] Building jar: C:\MVN\consumerBanking\target\
consumerBanking-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Tue Jul 10 16:52:18 IST 2012
[INFO] Final Memory: 16M/89M
[INFO] ------------------------------------------------------------------------

執行完後,我們已經構建了自己的項目並創建了最終的 jar 文件,下麵是要學習的關鍵概念:

  • 我們給了 maven 兩個目標,首先清理目標目錄(clean),然後打包項目構建的輸出為 jar(package)文件。
  • 打包好的 jar 文件可以在 consumerBanking\target 中獲得,名稱為 consumerBanking-1.0-SNAPSHOT.jar。
  • 測試報告存放在 consumerBanking\target\surefire-reports 文件夾中。
  • Maven 編譯源碼文件,以及測試源碼文件。
  • 接著 Maven 運行測試用例。
  • 最後 Maven 創建項目包。
C:\MVN\consumerBanking\target\classes>java com.companyname.bank.App

你可以看到結果:

Hello World!
添加 Java 源文件

接下來我們看看如何添加其他的 Java 文件到項目中。打開 C:\MVN\consumerBanking\src\main\java\com\companyname\bank 文件夾,在其中創建 Util 類 Util.java。

Util.java

package com.companyname.bank; public class Util { public static void printMessage(String message){ System.out.println(message); } }

更新 App 類來使用 Util 類:

App.java

package com.companyname.bank; /** * Hello world! * */ public class App { public static void main( String[] args ) { Util.printMessage("Hello World!"); } }

現在打開命令控製台,跳轉到 C:\MVN\consumerBanking 目錄下,並執行下麵的 mvn 命令。

C:\MVN\consumerBanking>mvn clean compile

在 Maven 構建成功之後,跳轉到 C:\MVN\consumerBanking\target\classes 目錄下,並執行下麵的 java 命令。

C:\MVN\consumerBanking\target\classes>java -cp . com.companyname.bank.App

你可以看到結果:

Hello World!