В этом уроке мы покажем вам, как использовать архетип mvn: генерировать
для создания проекта из списка существующих шаблонов Maven. В Maven 3.1.1 есть более 1000 шаблонов, сумасшедшая команда Maven должна отфильтровать некоторые бесполезные шаблоны.
Обычно мы просто используем следующие два шаблона:
maven-архетип-веб-приложение
– Веб-проект Java (ВОЙНА)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
Рекомендации
- Новичок: архетип мавена: генерировать
- Руководство по созданию архетипов
- Плагин Maven Archetype – Использование
- личный сайт Ругала Бернштейна
Оригинал: “https://mkyong.com/maven/how-to-create-a-project-with-maven-template/”