Учебники

Maven — Создание проекта

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 использует стандартную структуру каталогов, как показано ниже —

Структура проекта приложения Java

Используя приведенный выше пример, мы можем понять следующие ключевые понятия —

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.