Как использовать пространство в аргументах для Maven 2 exec plugin

Вопрос по теме: Плагин Maven Exec не читает конфигурацию

В моей конфигурации мне нужен аргумент, который является файловым путем. Я нашел довольно "грязное" обходное решение, окружая аргумент кавычками в POM ( "грязный", потому что аргумент будет передан основному методу с этими кавычками, их нужно снова удалить в коде).

<configuration>
    <executable>java</executable>
    <arguments>
        <argument>"path to file"</argument>
    </arguments>
</configuration>

Однако я не нашел решения для передачи пути в качестве аргумента командной строки:

>mvn exec:java -Dexec.args="path to file"

Ответ 1

В общем случае, maven требует, чтобы весь аргумент указывался, если в значении аргумента есть пробел.

mvn exec:java "-Dexec.args=path to file"

Ответ 2

В командной строке вы можете попробовать использовать одиночные кавычки (но я не уверен, что он работает), например:

>mvn exec:java -Dexec.args="'path to file' arg2 arg3"

Ответ 3

Если вы хотите в командной строке попробовать: $ mvn exec:java -Dexec.args="path\ to\ file arg2 arg3"

Ответ 4

Используйте -Dexec.args="'space parameter' normalparameter 'one more space parameter'"

Я попробовал это на Windows, и это работает.