Назовите корневой каталог проекта, созданного с помощью Maven Archetype - PullRequest
2 голосов
/ 02 декабря 2010

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

Ответы [ 2 ]

5 голосов
/ 02 декабря 2010

Соглашение об именах для artifactId - использовать тире (дефисы). Я не думаю, что есть какой-либо способ сделать каталог модуля с именем, отличным от artifactId. При этом, это только соглашение, а не требование, чтобы ваш модуль был назван так же, как ваш artifactId. Это означает, что после того, как ваш проект сгенерирован, вы можете просто изменить либо artifactId, либо имя папки модуля, либо и то, и другое на любое другое.

2 голосов
/ 11 апреля 2012

Я обошел это, добавив второе обязательное свойство в архетип, а затем используя его вместо artifactId в сгенерированном pom и т. Д.

В archtype-metadata.xml:

<requiredProperties>
...
  <requiredProperty key="projectCode"/>
</requiredProperties>

В pom.xml (и других подстановках):

<artifactId>${projectCode}</artifactId>

Таким образом, папка получает имя, указанное для artifactId, но в pom ей присваивается имя, предоставленное для projectCode.

К сожалению, вы не можете указать значение по умолчанию для artifactId в archtype-metadata.xml (я всегда хочу, чтобы имя папки было одинаковым).

...