В главе «Создание проекта» мы узнали, как создать приложение 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
Вы увидите результат следующим образом —