Запросить свойства архетипа 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.