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.