Не удается создать проект из архетипа-каталога.xml

Я пытаюсь использовать свой собственный шаблон проекта, но когда я выполняю команду:

mvn archetype:generate -DarchetypeCatalog=local

Я получил следующее сообщение:

 [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.
archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
   Your filter doesn't match any archetype (hint: enter to return to initial list)
Choose a number or apply filter (format: [groupId:]artifactId, case-sensitive contains): :

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

Мои шаги:
- Я создал проект в затмении
-Тогда я пошел в корневой каталог этого проекта и выполнил в командной строке следующую команду:

mvn archetype:create-from-project

и имело успех в строительстве.


Затем я выполнил следующую команду в папке проекта

mvn install

и имело успех


Я проверил папку .m2, и там был файл archetpe-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>io.openbdt</groupId>
      <artifactId>framework-openbdt</artifactId>
      <version>1.0</version>
      <description>framework-openbdt</description>
    </archetype>
  </archetypes>
</archetype-catalog>

В документации maven объясняется, что путь по умолчанию для archetypeCatalog=local это путь /.m2/archetype-catalog.xml, но при отладке (mvn archetype:generate -DarchetypeCatalog=local -X) maven ищет файл xml в пути /.m2/repository. /archetype-catalog.xml

Примечание. Эти шаги обычно выполнялись в моей записной книжке, но на настольном компьютере мне это не удалось. Затем я создал нового пользователя на ноутбуке, и он также больше не работал.

Кто-нибудь может мне помочь?

2 ответа

Maven 3.5.2 является несовместимым местом между чтением и записью.

Когда установлено localRepository в settings.xml, mvn archetype:generate -DarchetypeCatalog=local команда читает ${localRepository}/archetype-catalog.xml,

Когда без localRepository установка, что команда читает ~/.m2/archetype-catalog.xml,


mvn archetype:update-local-catalog команда создает ~/.m2/archetype-catalog.xml с maven-archetype-plugin v2.4.

Эта команда создает ${localRepository}/archetype-catalog.xml с v3.0.1.


refs: [ARCHETYPE-529] Архетип Maven: генерировать не находит локальные архетипы в интерактивном режиме - ASF JIRA

У меня точно такая же проблема, и я воспроизвел ее с Maven версий 3.3.9 и 3.5.2. Возможно, что-то противоречит тому, как mvn install а также mvn archetype:generate обрабатывать обработку archetype-catalog.xml,

Поскольку мне ничего не помогло, я создал мягкую ссылку:

ln -s PATH/TO/.m2/archetype-catalog.xml PATH/TO/.m2/repository/archetype-catalog.xml

Это сделало трюк для меня. К сожалению, это работает только для Unix-подобных систем.

Другие вопросы по тегам