你如何转义javapackager jvm Properties中的空格或引号

How do you escape spaces or quotes in javapackager's jvmProperties

我正在使用 运行 javapackager 的 exec-maven-plugin 从 java 8 捆绑一个 javafx 应用程序,系统属性需要包含一个 space 中的值。

当我使用 <argument>-BjvmProperties=log_path=&quot;%LOCALAPPDATA%/ERMS/Desktop Alerts/&quot 时,我得到:Error: Unknown argument: Alerts /

我在space前加了一个正斜杠,使得javapackager运行,但是在应用程序运行时参数似乎没有正确传递秒。在生成的 app/ERMS 桌面 Alerts.cfg 文件中显示为 -Dlog_path=%LOCALAPPDATA%/ERMS/Desktop" Alerts/

如果我从命令行调用 java,我可以使用 java -Dlog_path="%LOCALAPPDATA%/ERMS/Desktop Alerts" -jar DesktopAlerts.jar,而且效果很好。

我添加的任何(奇数)条斜线根本没有改变结果。

编辑

从 javapackager 本身 运行 从 cmd 我发现 -BjvmProperties=log_path="${env:LOCALAPPDATA}/ERMS/Desktop Alerts/" 有效。现在是让 exec-maven-plugin 产生该参数的问题。

解决办法是用斜杠转义space。 <argument>-BjvmProperties=log_path=${env:LOCALAPPDATA}/ERMS/Desktop\ Alerts/</argument>

引号似乎是问题所在 - 可能与 https://jira.atlassian.com/browse/BAM-9234

有关