Не удается создать проект из архетипа-каталога.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.
У меня точно такая же проблема, и я воспроизвел ее с 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-подобных систем.