Как реагировать на файл в пути со свойством в Maven? - PullRequest
2 голосов
/ 14 февраля 2011

Я хочу использовать некоторые плагинные исполнения моего проекта maven только тогда, когда определенный файл не существует.Путь к этому файлу может измениться - поэтому он должен содержать свойство (и, пожалуйста, исправьте меня, если это не так).Хорошим способом было бы использовать активацию профиля с файлом, но поскольку путь имеет свойство, это не работает (как указано в Maven «Введение в создание профилей» ).

Тем не менее, вопрос заключается в следующем: знаете ли вы способ достижения желаемого поведения только с одним pom?

Конечно, плагин принудительного действия предлагает ограниченный способ реагирования на файлы, но я не хочу обязательносбой или прерывание сборки.

1 Ответ

2 голосов
/ 21 февраля 2011

На самом деле мало что можно сделать.Вот ваши варианты:

  1. Live с ограничениями.Единственный способ настроить путь к файлу - через системное свойство (пользовательские свойства оцениваются с использованием профилей, а не наоборот):

    <profile>
        <id>foobar</id>
        <activation>
            <file><exists>${file.path}</exists></file>
        </activation>
    </profile>
    
    mvn -Dfile.path=some/path/file.txt clean install
    
  2. Программный запуск выполнения, напримерс Maven Invoker .Либо

    • напишите собственный плагин, либо
    • напишите основной класс и вызовите его из Exec: Java или
    • используйте встроенный скрипт Groovyс GMaven

    Любой из вышеперечисленных параметров должен вести себя как диспетчер, который вызывает mojos с использованием invoker в зависимости от оценки свойств.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...