Maven 构建 & 项目测试

Maven 创建 Java 应用,如何构建和测试这个项目

e:/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 添加源码文件 e:\MVN\consumerBanking\src\main\java\com\companyname\bank\App.java 和测试文件 e:\MVN\consumerBanking\src\test\java\com\companyname\bank\AppTest.java

命令控制台,e:\MVN\consumerBanking 目录,执行 mvn 命令构建项目

E:\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 E:\MVN\consumerBanking\target
...
...
...
[INFO] [jar:jar {execution: default-jar}]
[INFO] Building jar: e:\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 创建项目包

E:\MVN\consumerBanking\target\classes>java com.companyname.bank.App

结果

Hello World!

添加 Java 源文件

添加其他 Java 文件到项目 E:\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!");}}

现在打开命令控制台,跳转到 e:\MVN\consumerBanking 目录下,执行 mvn 命令

e:\MVN\consumerBanking>mvn clean compile

Maven 构建成功之后,跳转到 e:\MVN\consumerBanking\target\classes 目录,执行 java 命令

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

看到结果

Hello World!