Динамическое имя файла в архетипе Maven - PullRequest
5 голосов
/ 26 марта 2011

У меня проблемы с Maven. Я пытался создать архетип, но сейчас не знаю, как поместить исходный файл в каталог ${groupId}/${artifactId}. Если я пытаюсь создать проект из этого архетипа, файл неявно сохраняется в каталоге ${groupId}. Кажется, Maven предполагает, что идентификатор группы - это имя пакета. Но я использую ${groupId}/${artifactId} в качестве имени пакета, поэтому мне нужно сохранить исходный файл в каталоге ${groupId}/${artifactId}. Я видел решение: поместить файл в каталог __artifactId__. Двойное подчеркивание должно определять переменную. Однако это не дает никакого эффекта. Переменная, кажется, пуста, но в имени пакета внутри исходного файла используется успешно.

У вас есть идея, какой трюк нужно сделать при использовании двойного подчеркивания в имени файла?

1 Ответ

0 голосов
/ 20 октября 2011

Когда вы создаете архетип вашего проекта, вот так: mvn archetype:create-from-project -Dinteractive Установить пакет - в явном виде в корень проекта.

Затем вы создаете проект этого архетипа, введите ваш корневой пакет $ {groupId}. $ {ArtifactId} в явном виде. пример: mvn archetype: generate -DarchetypeGroupId = com.test -DarchetypeArtifactId = my_archetype -DgroupId = com.test -DartifactId = app -Dpackage = com.test.app -Dversion = 1.0-SNAPHOT

В этом случае $ {groupId} = com.test, $ {artifactId} = app и целевой пакет = com.test.app

...