Пользовательский архетип Maven

Java maven

1. Что такое архетип

Когда мы создадим проект maven, вы обнаружите, что apache предоставляет так много шаблонов.

или использоватьmvn archetype:generateкоманда для быстрого создания проекта maven, также будет много опций, позволяющих выбрать серийный номер шаблона. Итак, в чем разница между каждым шаблоном?

Каждый шаблон на самом деле поставляется с различными зависимостями и плагинами. Как правило, на частном сервере компании будет набор шаблонов archeType, принадлежащих компании, который содержит пакеты зависимостей и номера версий, используемые отлаживаемыми проектами.

2. Создайте архетип

Если у вас уже есть проект maven, вы хотите создать шаблон archeType для проекта.

cd в корневой каталог проекта для выполнения (каталог того же уровня pom.xml).

mvn archetype:create-from-project 

На данный момент эти файлы будут сгенерированы под целью проекта:

3. Создайте шаблон архетипа

先  cd target/generated-sources/archetype/

然后执行 mvn install 

После успешного выполнения выполнитьcrawlкоманда, сгенерированная в корневом каталоге локального репозиторияarchetype-catalog.xmlКонфигурационный файл скелета:

mvn archetype:crawl

Взгляните на то, что в нем:

[fantj@lalala repository]$ cat archetype-catalog.xml 
<?xml version="1.0" encoding="UTF-8"?>
<archetype-catalog xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0 http://maven.apache.org/xsd/archetype-catalog-1.0.0.xsd"
    xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <archetypes>
    <archetype>
      <groupId>com.fantj</groupId>
      <artifactId>my-self-defind-archtype-archetype</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <description>my-self-defind-archtype</description>
    </archetype>
  </archetypes>
</archetype-catalog>

4. Используйте шаблон архетипа

воплощать в жизньmvn archetype:generate -DarchetypeCatalog=localСоздайте проект из локального шаблона archeType.

 mvn archetype:generate -DarchetypeCatalog=local

Затем вам будет предложено выбрать номер шаблона иgroupId``artifactId``versionиpackageИнформация:

Choose archetype:
1: local -> com.fantj:my-self-defind-archtype-archetype (my-self-defind-archtype)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 1
Define value for property 'groupId': com.fantj
Define value for property 'artifactId': my-self-defind-archetype-test
Define value for property 'version' 1.0-SNAPSHOT: : 
Define value for property 'package' com.fantj: : 
Confirm properties configuration:
groupId: com.fantj
artifactId: my-self-defind-archetype-test
version: 1.0-SNAPSHOT
package: com.fantj
 Y: : y
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: my-self-defind-archtype-archetype:0.0.1-SNAPSHOT
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.fantj
[INFO] Parameter: artifactId, Value: my-self-defind-archetype-test
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: com.fantj
[INFO] Parameter: packageInPathFormat, Value: com/fantj
[INFO] Parameter: package, Value: com.fantj
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: groupId, Value: com.fantj
[INFO] Parameter: artifactId, Value: my-self-defind-archetype-test
[INFO] Project created from Archetype in dir: /home/fantj/IdeaProjects/maven-tutorial/my-self-defind-archetype-test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS

Проект успешно создан!

Конечно, IDEA также может помочь нам создавать проекты с использованием шаблонов archeType с графическим интерфейсом:

图1
图2
图3

Последнее такое же, как создание нормального проекта, без демонстрации.



Если вам понравилась моя статья, обратите внимание на мой официальный аккаунт. Официальный аккаунт посвящен анализу архитектурных технологий. Официальный аккаунт все еще находится в начальной стадии. Спасибо за вашу поддержку.

Обратите внимание на публичный номер, ответьтеjava架构Получите архитектурные видеоресурсы (другие высококачественные ресурсы будут опубликованы позже).