Ответ 1
В общем случае, maven требует, чтобы весь аргумент указывался, если в значении аргумента есть пробел.
mvn exec:java "-Dexec.args=path to file"
Вопрос по теме: Плагин Maven Exec не читает конфигурацию
В моей конфигурации мне нужен аргумент, который является файловым путем. Я нашел довольно "грязное" обходное решение, окружая аргумент кавычками в POM ( "грязный", потому что аргумент будет передан основному методу с этими кавычками, их нужно снова удалить в коде).
<configuration>
<executable>java</executable>
<arguments>
<argument>"path to file"</argument>
</arguments>
</configuration>
Однако я не нашел решения для передачи пути в качестве аргумента командной строки:
>mvn exec:java -Dexec.args="path to file"
В общем случае, maven требует, чтобы весь аргумент указывался, если в значении аргумента есть пробел.
mvn exec:java "-Dexec.args=path to file"
В командной строке вы можете попробовать использовать одиночные кавычки (но я не уверен, что он работает), например:
>mvn exec:java -Dexec.args="'path to file' arg2 arg3"
Если вы хотите в командной строке попробовать: $ mvn exec:java -Dexec.args="path\ to\ file arg2 arg3"
Используйте -Dexec.args="'space parameter' normalparameter 'one more space parameter'"
Я попробовал это на Windows, и это работает.