Любой другой плагин mvn, который взаимодействует с пользователем (запрашивает ввод), не работает, если запущен плагин maven-release-plugin.
Я создал собственный плагин mvn, который запускает некоторые проверки на этапе «проверки». Когда эти проверки обнаруживают некоторые ошибки, он запрашивает подтверждение у пользователя, чтобы он продолжал или не работал.
Что-то вроде:
> We have found 3 problems!
> Problem 1: asdfasdfadsf
> Problem 2: sdfgsdfg
> Problem 3: asdfasdfahfg
> "Do you want to continue anyway? (y/n) ?: __"
Если я запускаю это так: «$ mvn validate» работает нормально, но, когда я запускаю плагин mvn, например «$ mvn release: prepare», он просто останавливается в этот момент, не давая пользователю взаимодействовать.
ПРИМЕЧАНИЯ:
Я использую "org.codehaus.plexus.components.interactivity.Prompter;" для того, чтобы запросить параметры пользователя. Тем не менее, я попытался сделать это только с помощью java Scanner / System.out, с теми же результатами: при запуске плагина mvn release другие плагины, которые вы можете иметь, не смогут ни писать, ни читать консоль.
Мои вопросы об этой ситуации:
1) Есть ли способ сделать пользовательский плагин maven для взаимодействия с пользователем внутри maven-release-plugin?
Я знаю, что есть альтернативы ... (например, использование того же аргумента "-D" для пропуска моих проверок). Тем не менее, в моем случае будет очень полезно спросить пользователя, что делать.
2) Я обнаружил, что несколько процессов maven выполняются одновременно при вызове плагина релиза (например, если я проверяю их с помощью «ps aux | grep maven», когда «mvn release: prepare» работает в фоновом режиме). Почему это так?
Спасибо большое!