Учебники

Maven — проект сборки и тестирования

В главе «Создание проекта» мы узнали, как создать приложение Java с помощью Maven. Теперь посмотрим, как собрать и протестировать приложение.

Перейдите в каталог C: / MVN, где вы создали свое Java-приложение. Откройте папку customerBanking. Вы увидите файл 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>com.companyname.projectgroup</groupId>
   <artifactId>project</artifactId>
   <version>1.0</version>
   <dependencies>
      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>3.8.1</version>
      </dependency>
   </dependencies>  
</project>

Здесь вы можете видеть, что Maven уже добавил Junit в качестве тестового фреймворка. По умолчанию Maven добавляет исходный файл App.java и тестовый файл AppTest.java в свою структуру каталогов по умолчанию, как обсуждалось в предыдущей главе.

Давайте откроем командную консоль, перейдем в каталог C: \ MVN \ consumerBanking и выполним следующую команду mvn .

C:\MVN\consumerBanking>mvn clean package

Maven начнет строить проект.

[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] [resources:resources {execution: default-resources}]

[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,
i.e. build is platform dependent!

[INFO] skip non existing resourceDirectory C:\MVN\consumerBanking\src\main\resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 1 source file to C:\MVN\consumerBanking\target\classes
[INFO] [resources:testResources {execution: default-testResources}]

[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,
i.e. build is platform dependent!

[INFO] skip non existing resourceDirectory C:\MVN\consumerBanking\src\test\resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] Compiling 1 source file to C:\MVN\consumerBanking\target\test-classes
[INFO] [surefire:test {execution: default-test}]
[INFO] Surefire report directory: C:\MVN\consumerBanking\target\surefire-reports

-----------------------------------------------------
T E S T S
-----------------------------------------------------

Running com.companyname.bank.AppTest

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[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 создает пакет.

Мы поставили 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.

>java com.companyname.bank.App

Вы увидите результат следующим образом —

Hello World!

Добавление исходных файлов Java

Давайте посмотрим, как мы можем добавить дополнительные файлы Java в наш проект. Откройте папку C: \ MVN \ consumerBanking \ src \ main \ java \ com \ companyname \ bank, создайте в ней класс Util как Util.java.

package com.companyname.bank;

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

Обновите класс App, чтобы использовать класс Util.

package com.companyname.bank;

/**
   * Hello world!
   *
*/

public class App {
   public static void main( String[] args ){
      Util.printMessage("Hello World!");
   }
}

Теперь откройте консоль команд, перейдите в каталог C: \ MVN \ consumerBanking и выполните следующую команду mvn .

>mvn clean compile

После успешной сборки Maven перейдите в каталог C: \ MVN \ consumerBanking \ target \ classes и выполните следующую команду java.

>java -cp com.companyname.bank.App

Вы увидите результат следующим образом —