Maven проект, созданный из Old (1.x) Archetype - PullRequest
11 голосов
/ 22 июня 2011

Я пытаюсь изучить 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: ...

Как использовать текущую версию для Архетипа?Является ли руководство, которое я читаю, устаревшим?

В качестве подвопроса я заметил, что в pom.xml упоминается версия 3.8.1 junit, а я хотел бы использовать версию 4.8 junit.х - как это изменить?Я могу просто изменить номер версии в XML?

Есть ли лучшее руководство или книга, которую вы можете предложить?

Ответы [ 2 ]

4 голосов
/ 22 июня 2011

Версия, которую вы используете, а также руководство, на которое вы ссылаетесь, является достаточно актуальной. Вы можете игнорировать сообщение. Созданный проект отлично работает с последним maven.

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

В дополнение к тому, на что вы смотрите, вы также можете посмотреть Maven: полное руководство

0 голосов
/ 11 декабря 2017

Если вы включите -DinteractiveMode = true в команду mvn archetype: generate:

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/ с помощью веб-браузера.

...