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