Проект Maven, созданный из старого (1.x) архетипа
Я пытаюсь изучить Maven после этого Руководство по началу работы.
У меня Apache Maven 3.0.1 на Linux. Я создал следующую команду для создания первого проекта:
yes | mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DgroupId=org.obliquid.helpers \
-DartifactId=obliquid-helpers \
-Dversion=0.1
Однако на выходе я прочитал:
[INFO] project created from Old (1.x) Archetype in dir: ...
Как я могу использовать текущую версию для Archetype? Является ли руководство, которое я читаю устаревшим?
В качестве дополнительного вопроса я заметил, что в pom.xml упоминается junit версия 3.8.1, в то время как я хотел бы использовать junit version 4.8.x - Как это изменить? Я могу просто изменить номер версии в XML?
Есть ли лучшее руководство или книга, которые вы можете предложить?
Ответы
Ответ 1
Используемая вами версия, а также руководство, к которому вы обращаетесь, достаточно текущие. Вы можете проигнорировать сообщение. Созданный проект отлично работает с последним maven.
Что касается junit, вы можете соответствующим образом изменить версию зависимостей. Проект, созданный с использованием архетипа: generate, является лишь ориентировочным, который предназначен для настройки.
В дополнение к тому, что вы смотрите, вы также можете посмотреть Maven: полный справочник
Ответ 2
Если вы включили -DinteractiveMode = true в свой архетип mvn: сгенерируйте команду:
mvn archetype:generate \
-DgroupId=org.obliquid.helpers \
-DartifactId=obliquid-helpers \
-Dversion=0.1 \
-DinteractiveMode=true
вам представлен (большой) каталог доступных архетипов mvn, а также краткое описание каждого из них.
В настоящее время пара лучших простых архетипов приложения Java в этом списке:
1844: remote -> org.spilth:java9-minimalist-quickstart
и
1966: remote -> pl.org.miki:java8-quickstart-archetype
Вторая включает в себя область тестирования, в которой JUnit версии 4.11 для модульных тестов. Чтобы использовать этот архетип, вам просто нужно указать archetypeGroupId и archetypeArtifactId, как в:
mvn archetype:generate \
-DarchetypeGroupId=pl.org.miki \
-DarchetypeArtifactId=java8-quickstart-archetype \
-DgroupId=org.obliquid.helpers \
-DartifactId=obliquid-helpers \
-Dversion=0.1
По какой-то причине mvn archetype: generate принимает archetypeVersion = 1.0, даже если метаданные архетипа указывают другую версию для последней версии/выпуска.
Чтобы указать версию архетипа помимо 1.0, вам просто нужно определить значение для свойства archetypeVersion, например.
mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DarchetypeVersion=1.1 \
-DgroupId=org.obliquid.helpers \
-DartifactId=obliquid-helpers \
-Dversion=0.1 \
-DinteractiveMode=true
Узнайте, какие версии доступны, посетив http://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/ с помощью веб-браузера.