Запросить свойства архетипа maven с настройками по умолчанию

Я собираю архетип maven, у которого есть куча пользовательских свойств, которые используются для фильтрации различных ресурсов архетипа. Я задал их по умолчанию в файле archetype-metadata.xml, например.

<requiredProperties>
  <requiredProperty key="application-name">
    <defaultValue>Some Application</defaultValue>
  </requiredProperty>>  
</requiredProperties>

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

Define value for property 'version': 1.0-SNAPSHOT: 

позволяющий ввести версию, но по умолчанию - 1.0-SNAPSHOT, если ничего не введено. Для моих пользовательских свойств он просто отображает их перед созданием нового проекта

[INFO] Using property: application-name = Some Application

Если я опускаю значение по умолчанию из файла archetype-metadata.xml, то он подскажет мне значение, но по умолчанию не существует.

Можно ли указать значение по умолчанию и получить запрос?

Ответы

Ответ 1

найдите окончательный вопрос для фиксации настроек. В моем случае возникает последний вопрос:

:
Confirm properties configuration:
groupId: ....
 Y: :

Если я введу n, тогда все свойства будут повторно запрашиваться в интерактивном режиме с моими значениями по умолчанию из файла archetype-metadata.xml.

Вот моя консольная часть:

Choose archetype:
1: file:///C:\Aktentasche\_daten\m3 -> maven-dsl-project-archet...
Choose a number: : 1
Downloading: file:///C:\Aktentasche\_daten\m3/net/sf/maven/plug...
data.xml
[INFO] Using property: groupId = net.sf.maven.plugins
[INFO] Using property: artifactId = dslexample
[INFO] Using property: version = 1.0.0-SNAPSHOT
[INFO] Using property: package = net.sf.maven.plugins
[INFO] Using property: eclipse_platform = helios
[INFO] Using property: tycho_version = 0.8.0
Confirm properties configuration:
groupId: net.sf.maven.plugins
artifactId: dslexample
version: 1.0.0-SNAPSHOT
package: net.sf.maven.plugins
eclipse_platform: helios
tycho_version: 0.8.0
 Y: :

Здесь я должен ввести n для интерактивного диалога со значениями по умолчанию.

Ответ 2

Короче говоря, нет, это невозможно. Там проблема JIRA. Если это проблема для вас, вы можете проголосовать за нее.

Ответ 3

Я знаю, что это далеко не идеальный вариант, но если вы укажете значение по умолчанию для all requiredProperty (включая groupId, artifactId, версию и пакет), вы получите его резюме, а затем введите n вы достигнете своей цели

Ответ 4

Я поднял это в списке рассылки Maven, но не получил ответа. В качестве обходного пути тем временем свойства системы могут использоваться для переопределения их в командной строке при запуске архетипа

e.g. -Dapplication-name="Some Application"

Ответ 5

кто-нибудь ответит на этот вопрос? у меня был конфиг

<requiredProperties>
    <requiredProperty key="groupId">
        <defaultValue>zootopia.admin</defaultValue>
    </requiredProperty>
    <requiredProperty key="artifactId">
        <defaultValue>ability-test</defaultValue>
    </requiredProperty>
    <requiredProperty key="version">
        <defaultValue>1.0.0-SNAPSHOT</defaultValue>
    </requiredProperty>
    <requiredProperty key="package">
        <defaultValue>ability.test</defaultValue>
    </requiredProperty>
   </requiredProperties>

в моем файле archetype-metadata.xml ошибка, когда я вызываю mvn archetype: generate, он подсказывает такие слова, как "Подтверждение конфигурации свойств...."

Ответ 6

Вы пытались взять второй карат с конца requiredProperty?

Измените </requiredProperty>> на </requiredProperty>

Похоже, возможно, проблема с неправильным XML.