0

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

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

我在空格前添加了一个正斜杠,这使得 javapackager 运行,但是当应用程序运行时,参数似乎没有正确传递。在生成的 app/ERMS Desktop 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 产生该论点的问题。

4

1 回答 1

0

解决方案是用斜杠转义空格。 <argument>-BjvmProperties=log_path=${env:LOCALAPPDATA}/ERMS/Desktop\ Alerts/</argument>

看来引号是问题所在 - 可能与https://jira.atlassian.com/browse/BAM-9234有关

于 2017-04-13T15:48:02.050 回答