Предотвратить создание архетипа Maven при создании переменной

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

В шаблоне, который я создал для создания архетипа, есть несколько файлов .xml. Каждый из них имеет XML-декларацию:

<?xml version="1.0" encoding="UTF-8"?>

При запуске mvn archetype:create-from-project для штамповки архетипа для меня он, по-видимому, определил версию в объявлении XML как ключевое слово Maven и завернул его в переменную. В результате каждое объявление XML в архетипе стало:

<?xml ${version}="1.0" encoding="UTF-8"?>

После использования архетипа для создания проекта Maven, очевидно, заменил эту переменную выбранной пользователем версией проекта. Это привело к чему-то вроде:

<?xml 1.0-SNAPSHOT="1.0" encoding="UTF-8"?>

Определенно недопустимо для XML. Тогда мой вопрос: как вы можете помешать mvn archetype:create-from-project сделать это? Есть ли способ каким-то образом ограничить его область действия или установить флаг в командной строке?


person Eric Olson    schedule 26.07.2013    source источник


Ответы (1)


Вы можете добавить -Darchetype.filteredExtentions=extension1,extension2,... к своей команде mvn, чтобы сообщить maven, какие расширения файлов следует включать, когда он выполняет замену скорости. Этот фильтр включает расширения файлов, поэтому вам нужно составить список всех ваших расширений файлов и не указывать xml, чтобы пропустить их. Вы можете сделать -Darchetype.filteredExtentions, если xml — единственный тип файла в вашем проекте.

person bfitzpatrick    schedule 26.07.2013
comment
Вот оно! Пустой список файлов для фильтрации, и это не коснулось моих XML-файлов :) - person Eric Olson; 26.07.2013