Ответ 1
Существует четыре возможных решения.
- Используйте плагин Maven Assemly
Думаю, лучшая идея - раскрыть плагин сборки Maven. Он должен позволить вам обновить разделитель строк. Подробнее см. В разделе "fileSet".
- Используйте PowerShell для вызова
mvn
Как временная работа, вы можете использовать PowerShell (Пуск- > Все программы- > Аксессуары- > Windows PowerShell). Вызовите maven, как и вы, с некоторыми дополнительными возможностями, которые дублируют предложения -D. mvn assembly:assembly -P prod "-Dmaven.test.skip=true"
. Теперь добавьте к этому -Dline.separator = `n. Это должно привести к тому, что PowerShell добавит экранированное значение.
- Создайте собственный плагин для переопределения
"line.separator"
до обновления pom.
Следуйте Maven Guide по созданию простого плагина. Все, что нужно сделать, это переопределить значение. Настройте плагин для выполнения в фазе до модификации pom.
System.getProperties().setProperty("line.separator", "\n");
- Создание виртуальной машины Linux.
Существует опция, которая не исправляет проблему совместимости Windows, но должна решить вашу основную проблему. Посмотрите на создание небольшого сервера VirtualBox Linux. Для доступа в Интернет достаточно простого NAT-соединения. Установите Maven, Java и т.д. На этом компьютере. Постройте на нем. Поскольку он Linux, разделитель строк должен быть только "\n". VM понадобится 256 - 512 МБ оперативной памяти и 20 ГБ пространства для хранения (Linux + множество возможных зависимостей Maven). Если вы в конце концов полюбите его, вы можете даже расширить его, чтобы разместить продукт непрерывной интеграции, такой как Jenkins.