你如何转义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="%LOCALAPPDATA%/ERMS/Desktop Alerts/"
时,我得到: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
有关
我正在使用 运行 javapackager 的 exec-maven-plugin 从 java 8 捆绑一个 javafx 应用程序,系统属性需要包含一个 space 中的值。
当我使用 <argument>-BjvmProperties=log_path="%LOCALAPPDATA%/ERMS/Desktop Alerts/"
时,我得到: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
有关