Eclipse 运行 带空格的配置参数
Eclipse run configuration argument with spaces
我需要使用 spaces 将参数传递给我正在通过 Eclipse 运行ning 的应用程序。在 Windows 中,以下语法有效:
param="%Some Name%"
在 Linux 中,该参数总是作为单独的参数传递给解释它的 Java 代码。
对于 Bash,以下语法有效:
"param=%Some Name%"
即如果我复制完整命令并在终端中 运行 它,它会正确启动应用程序并将参数作为单个参数传递。
在 Eclipse 中,它仍然围绕 space(s) 拆分参数。
我试过用斜杠('\')转义 space。我试过用单引号替换引号。我已经尝试了所有 3 种可能的组合。我对 explain/understand 不知道 Eclipse 在这里做了什么,它在 Windows.
中做了什么
事实证明,Google/search.
也是出了名的难
更复杂的是,这不是标准的 运行 配置。它使用 VexiDev (source here) Eclipse 功能。
您是否尝试过将 整个 属性 封装在这样的引号中:
"-Dlog4j.configuration=/config location/log4j.properties"
这适用于我的机器。(Linux)
我能够做到这一点,但我必须绕过 Eclipse 并从命令行进行。
我找到了包含 运行 配置的文件。
它位于工作区的 .metadata 目录中,以“.launch”结尾
例如:
./workspace/.metadata/.plugins/org.eclipse.debug.core/.launches/FetchTest.launch
该文件是 xml 文件。
它有一个用于 VM 参数的键条目,在该条目中您可以使用 XML 转义指定字符。
所以做一些像
-ea -Dfile.encoding=UTF-8 -Duser.timezone=UTC -Dparam="Complicated Thing"
用
改变启动文件
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dfile.encoding=UTF-8 -Duser.timezone=UTC -Dparam="Complicated Thing""/>
然后我不得不重新启动 Eclipse 以让它注意到更改。
我认为诀窍是确保您在 Eclipse GUI 中输入双引号,而不是默认情况下获得的 unicode 智能引号。
如果您不输入双引号,而是从终端或纯文本编辑器复制它并将其粘贴到参数框中,它应该可以工作。
这也花了我一段时间才弄清楚,但我找到了答案。
将 运行 配置参数放在单引号中,如下例中的 3 个参数:
SVCNOW 'This is the summary' 'and this is the description'
显示命令行不会显示双引号,但当您 运行 class.
时它们会出现
我需要使用 spaces 将参数传递给我正在通过 Eclipse 运行ning 的应用程序。在 Windows 中,以下语法有效:
param="%Some Name%"
在 Linux 中,该参数总是作为单独的参数传递给解释它的 Java 代码。
对于 Bash,以下语法有效:
"param=%Some Name%"
即如果我复制完整命令并在终端中 运行 它,它会正确启动应用程序并将参数作为单个参数传递。
在 Eclipse 中,它仍然围绕 space(s) 拆分参数。
我试过用斜杠('\')转义 space。我试过用单引号替换引号。我已经尝试了所有 3 种可能的组合。我对 explain/understand 不知道 Eclipse 在这里做了什么,它在 Windows.
中做了什么事实证明,Google/search.
也是出了名的难更复杂的是,这不是标准的 运行 配置。它使用 VexiDev (source here) Eclipse 功能。
您是否尝试过将 整个 属性 封装在这样的引号中:
"-Dlog4j.configuration=/config location/log4j.properties"
这适用于我的机器。(Linux)
我能够做到这一点,但我必须绕过 Eclipse 并从命令行进行。
我找到了包含 运行 配置的文件。
它位于工作区的 .metadata 目录中,以“.launch”结尾
例如:
./workspace/.metadata/.plugins/org.eclipse.debug.core/.launches/FetchTest.launch
该文件是 xml 文件。
它有一个用于 VM 参数的键条目,在该条目中您可以使用 XML 转义指定字符。
所以做一些像
-ea -Dfile.encoding=UTF-8 -Duser.timezone=UTC -Dparam="Complicated Thing"
用
改变启动文件<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dfile.encoding=UTF-8 -Duser.timezone=UTC -Dparam="Complicated Thing""/>
然后我不得不重新启动 Eclipse 以让它注意到更改。
我认为诀窍是确保您在 Eclipse GUI 中输入双引号,而不是默认情况下获得的 unicode 智能引号。
如果您不输入双引号,而是从终端或纯文本编辑器复制它并将其粘贴到参数框中,它应该可以工作。
这也花了我一段时间才弄清楚,但我找到了答案。 将 运行 配置参数放在单引号中,如下例中的 3 个参数:
SVCNOW 'This is the summary' 'and this is the description'
显示命令行不会显示双引号,但当您 运行 class.
时它们会出现