Рубрики
Без рубрики

Как создать проект с помощью шаблона Maven

– Как создать проект с помощью шаблона Maven

В этом уроке мы покажем вам, как использовать архетип mvn: генерировать для создания проекта из списка существующих шаблонов Maven. В Maven 3.1.1 есть более 1000 шаблонов, сумасшедшая команда Maven должна отфильтровать некоторые бесполезные шаблоны.

Обычно мы просто используем следующие два шаблона:

  1. maven-архетип-веб-приложение – Веб-проект Java (ВОЙНА)
  2. maven-архетип-быстрый запуск – Проект Java (JAR)

1. Maven 1000+ Шаблонов

Если вы введете архетип mvn: создать , на экране появится запрос на 1000+ шаблонов, и вы не сможете его увидеть или выбрать то, что хотите. Чтобы решить эту проблему, выведите список шаблонов в текстовый файл, подобный этому:

$ mvn archetype:generate > templates.txt

//waiting few seconds, then exits
Press CTRL + C

$ vim templates.txt

2. Архетип Мавена: генерировать

Шаги, которые помогут вам создать веб-проект на основе существующего шаблона Spring-Hibernate:

2.1 Перечислите шаблоны Maven:

$ mvn archetype:generate

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom <<<
[INFO]
[INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)

Choose archetype:

311: remote -> jboss:mobicents-ra-archetype (An archetype for slee resource adaptor.)
//...

314: remote -> ml.rugal.archetype:springmvc-spring-hibernate (A pretty useful JavaEE application archetype based on springmvc spring and hibernate)

//...
486: remote -> org.apache.maven.archetypes:maven-archetype-j2ee-simple (An archetype which contains a simplifed sample J2EE application.)
487: remote -> org.apache.maven.archetypes:maven-archetype-marmalade-mojo (-)
488: remote -> org.apache.maven.archetypes:maven-archetype-mojo (An archetype which contains a sample a sample Maven plugin.)
489: remote -> org.apache.maven.archetypes:maven-archetype-plugin (An archetype which contains a sample Maven plugin.)
491: remote -> org.apache.maven.archetypes:maven-archetype-portlet (An archetype which contains a sample JSR-268 Portlet.)
492: remote -> org.apache.maven.archetypes:maven-archetype-profiles (-)
493: remote -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.)
//...

2.2 Выберите номер “314” для ml.rugal.archetype: spring mvc-весна-гибернация шаблон и заполните подробную информацию:

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 493: 314
Choose ml.rugal.archetype:springmvc-spring-hibernate version: 
1: 0.1
2: 0.2
3: 0.3
Choose a number: 3: 3
Downloading: http://repo.maven.apache.org/maven2/ml/rugal/archetype/springmvc-spring-hibernate/0.3/springmvc-spring-hibernate-0.3.jar
Downloaded: http://repo.maven.apache.org/maven2/ml/rugal/archetype/springmvc-spring-hibernate/0.3/springmvc-spring-hibernate-0.3.jar (29 KB at 19.7 KB/sec)
Downloading: http://repo.maven.apache.org/maven2/ml/rugal/archetype/springmvc-spring-hibernate/0.3/springmvc-spring-hibernate-0.3.pom
Downloaded: http://repo.maven.apache.org/maven2/ml/rugal/archetype/springmvc-spring-hibernate/0.3/springmvc-spring-hibernate-0.3.pom (4 KB at 5.5 KB/sec)
Define value for property 'groupId': : com.mkyong.web
Define value for property 'artifactId': : myweb
Define value for property 'version':  1.0-SNAPSHOT: : 
Define value for property 'package':  com.mkyong.web: : 
Confirm properties configuration:
groupId: com.mkyong.web
artifactId: myweb
version: 1.0-SNAPSHOT
package: com.mkyong.web
 Y: : y
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: springmvc-spring-hibernate:0.3
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.mkyong.web
[INFO] Parameter: artifactId, Value: myweb
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: com.mkyong.web
[INFO] Parameter: packageInPathFormat, Value: com/mkyong/web
[INFO] Parameter: package, Value: com.mkyong.web
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: groupId, Value: com.mkyong.web
[INFO] Parameter: artifactId, Value: myweb
[INFO] project created from Archetype in dir: /Users/mkyong/Documents/workspace/maven/template/myweb
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 35.210s
[INFO] Finished at: Tue Oct 28 15:32:10 MYT 2014
[INFO] Final Memory: 10M/29M
[INFO] ------------------------------------------------------------------------

Он создаст следующие папки и файлы проекта.

Рисунок: Сгенерированная структура проекта в среде IDE Eclipse.

$ cd myweb
$ pwd
/Users/mkyong/Documents/workspace/maven/template/myweb

$ mvn eclipse:eclipse

3. Больше Примеров

Если вы знаете, какой архетип artifactId использовать, просто пропустите команду в интерактивном режиме, как это:

3.1 maven-архетип-быстрый запуск (проект Java)

$ mvn archetype:generate -DgroupId=com.mkyong.core -DartifactId=ProjectName
	-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

Просмотрите этот пример – Как создать проект Java с помощью Maven

3.2 maven-архетип-веб-приложение (веб-проект Java)

$ mvn archetype:generate -DgroupId=com.mkyong.web -DartifactId=ProjectName
	-DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

Просмотрите этот пример – Как создать проект веб-приложения Java с помощью Maven

Рекомендации

  1. Новичок: архетип мавена: генерировать
  2. Руководство по созданию архетипов
  3. Плагин Maven Archetype – Использование
  4. личный сайт Ругала Бернштейна

Оригинал: “https://mkyong.com/maven/how-to-create-a-project-with-maven-template/”