архетип mvn: сгенерируйте выбранную версию - PullRequest
3 голосов
/ 01 мая 2019

Согласно doc , по умолчанию <archetypeVersion>.

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

Пример:

В репозитории - https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/archetype-catalog.xml, в основном существует 2 архетипа с 2 версиями в каждом.

1 Ответ

2 голосов
/ 01 мая 2019

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

cat /cygdrive/c/Users/G01103266/.m2/repository/org/apache/maven/archetypes/maven-archetype-quickstart/maven-metadata-central.xml
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <groupId>org.apache.maven.archetypes</groupId>
  <artifactId>maven-archetype-quickstart</artifactId>
  <versioning>
    <latest>1.4</latest>
    <release>1.4</release>
    <versions>
      <version>1.0-alpha-1</version>
      <version>1.0-alpha-2</version>
      <version>1.0-alpha-3</version>
      <version>1.0-alpha-4</version>
      <version>1.0</version>
      <version>1.1</version>
      <version>1.3</version>
      <version>1.4</version>
    </versions>
    <lastUpdated>20181213005348</lastUpdated>
  </versioning>
</metadata>

В вашем локальном репозитории или в Nexus / Artifactory у вас может быть archetype-catalog.xml , который определит разрешенные версии, на ваш выбор, здесь - это та, для которой Maven Central.

Если в каталоге нет упоминания об архетипе, версия по умолчанию будет 1.0.

Если существует более одной версии, вам будет предложено выбрать версию и выпустить ее по умолчанию.

Я создаю тестовые проекты с помощью следующего скрипта

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=RELEASE

Будет использовать версию 1.4

...