Maven использует плагины архетипов для создания проектов. Для создания простого Java-приложения мы будем использовать плагин maven-archetype-quickstart. В приведенном ниже примере мы создадим проект Java-приложения на основе maven в папке C: \ MVN.
Давайте откроем командную консоль, перейдем в каталог C: \ MVN и выполним следующую команду mvn .
C:\MVN>mvn archetype:generate -DgroupId = com.companyname.bank -DartifactId = consumerBanking -DarchetypeArtifactId = maven-archetype-quickstart -DinteractiveMode = false
Maven начнет обработку и создаст полную структуру проекта Java-приложения.
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] -------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:generate] (aggregator-style)
[INFO] -------------------------------------------------------------------
[INFO] Preparing archetype:generate
[INFO] No goals needed for project - skipping
[INFO] [archetype:generate {execution: default-cli}]
[INFO] Generating project in Batch mode
[INFO] -------------------------------------------------------------------
[INFO] Using following parameters for creating project
from Old (1.x) Archetype: maven-archetype-quickstart:1.0
[INFO] -------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.companyname.bank
[INFO] Parameter: packageName, Value: com.companyname.bank
[INFO] Parameter: package, Value: com.companyname.bank
[INFO] Parameter: artifactId, Value: consumerBanking
[INFO] Parameter: basedir, Value: C:\MVN
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: C:\MVN\consumerBanking
[INFO] ------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------
[INFO] Total time: 14 seconds
[INFO] Finished at: Tue Jul 10 15:38:58 IST 2012
[INFO] Final Memory: 21M/124M
[INFO] ------------------------------------------------------------------
Теперь перейдите в каталог C: / MVN. Вы увидите созданный проект Java-приложения с именем Banking для потребителя (как указано в artifactId). Maven использует стандартную структуру каталогов, как показано ниже —
Используя приведенный выше пример, мы можем понять следующие ключевые понятия —
| Sr.No. | Структура папки и описание | 
|---|---|
| 1 | consumerBanking содержит папку src и pom.xml | 
| 2 | SRC / Основной / Java содержит файлы кода Java в структуре пакета (com / companyName / bank). | 
| 3 | SRC / Основной / испытание содержит тестовые файлы кода Java в структуре пакета (com / companyName / bank). | 
| 4 | SRC / основные / ресурсы он содержит файлы изображений / свойств (в приведенном выше примере нам нужно создать эту структуру вручную). | 
consumerBanking
содержит папку src и pom.xml
SRC / Основной / Java
содержит файлы кода Java в структуре пакета (com / companyName / bank).
SRC / Основной / испытание
содержит тестовые файлы кода Java в структуре пакета (com / companyName / bank).
SRC / основные / ресурсы
он содержит файлы изображений / свойств (в приведенном выше примере нам нужно создать эту структуру вручную).
Если вы заметите, вы обнаружите, что Maven также создал образец исходного файла Java и тестового файла Java. Откройте C: \ MVN \ consumerBanking \ src \ main \ java \ com \ companyname \ bank, вы увидите App.java.
package com.companyname.bank; /** * Hello world! * */ public class App { public static void main( String[] args ){ System.out.println( "Hello World!" ); } }
Откройте папку C: \ MVN \ consumerBanking \ src \ test \ java \ com \ companyname \ bank, чтобы увидеть AppTest.java.
package com.companyname.bank; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; /** * Unit test for simple App. */ public class AppTest extends TestCase { /** * Create the test case * * @param testName name of the test case */ public AppTest( String testName ) { super( testName ); } /** * @return the suite of tests being tested */ public static Test suite() { return new TestSuite( AppTest.class ); } /** * Rigourous Test 🙂 */ public void testApp() { assertTrue( true ); } }
Разработчики обязаны размещать свои файлы, как указано в таблице выше, а Maven обрабатывает все сложности, связанные со сборкой.
В следующей главе мы обсудим, как построить и протестировать проект, используя maven Build and Test Project.
