在Eclipse中,当您在运行对话框中指定参数时,Eclipse会将其解释${foo}为使用Eclipse变量foo的请求.我想将一个字符串传递给我的应用程序包含${foo}但是Eclipse将其视为未定义的变量并给我一个错误.
-Dfoo "bar" --pattern "regex magic ${foo}"
Run Code Online (Sandbox Code Playgroud)
Eclipse不接受单引号(')作为引用字符,而是成为输入的一部分.有没有人知道我如何${foo}在这个对话框中逃脱,所以它被解释为文本而不是变量引用?
Mat*_*ell 11
我不认为在Eclipse中有任何方法可以做到这一点.
令人讨厌的代码是org.eclipse.core.internal.variables.StringSubstitutionEngine #replace.
这是代替$ {foo}的代码,用你定义的foo来代替.不幸的是,它可以处理嵌套和连接的变量,所以如果dollar ="$"和rest ="{foo}"那么$ {dollar} $ {rest}会给$ {foo}再次进行评估.
有关信息,在代码reportUndefinedVariables中硬编码为真正的堆栈,这就是你收到错误消息的原因.似乎没有任何改变它的方法.
小智 5
您必须在Eclipse中定义变量:name = dollar,value = $
(这可以在"运行配置"对话框中完成,当您键入参数时,单击"变量...",然后单击"编辑变量...",并添加该变量).
然后,在参数文本框中,键入$ {dollar}"{foo}"
| 归档时间: |
|
| 查看次数: |
5055 次 |
| 最近记录: |