25

我了解如何使用运行配置菜单使用命令行参数运行我的应用程序。

我遇到的问题是,无论我将这些命令行参数更新为什么,eclipse 在我执行代码时都不会反映这些更新。

到目前为止,我已将参数设置为:

test1.txt test2.txt dfs

这将打印:

args[0] = test1.txt
args[1] = test2.txt
args[2] = dfs

但是如果我更新参数并重新运行它,参数将不会更新

如何“重置”参数并使用更新的参数重新运行应用程序。

上面和下面都正常工作,实际上是日食引起了我的问题。通过简单的 eclipse 重启解决了这个问题。

谢谢大家。

4

4 回答 4

52
  1. 单击运行->运行配置
  2. 单击参数选项卡
  3. Program Arguments部分中,输入您的参数。
  4. 单击应用

它肯定会起作用,因为我在写这个答案之前就在我的身上试过了

于 2013-10-29T02:28:41.400 回答
3

有一种情况(错误),修改 Run -> Run Configurations 参数不起作用,因为正在执行的实际运行配置实际上对您隐藏。

因此,更新可见的将不会反映在您的实际运行中。

例子:

import static org.junit.Assert.assertEquals;

import org.junit.Test;

public class EclipseRunConfigurationTest {

    @Test
    public void test() {
        assertEquals("foo", System.getProperty("runProperty"));
    }

}
  1. 运行它 - 它会失败。
  2. 使用 Little Child 指定的方法修改运行配置。添加“-DrunProperty=foo”虚拟机参数
  3. 再次运行它 - 它会通过
  4. 调试它,然后切换到调试视图,
    • R单击 Junit 启动 -> 编辑重新运行 EclipseRunConfigurationTest...
    • 将 VM 参数更改为“-DrunProperty=bar”
    • 应用和调试 - 它会失败
  5. 再次打开运行/调试管理器
    • 请注意,未列出“重新运行 EclipseRunConfigurationTest”。
    • 注意VM参数仍然是“-DrunProperty=foo”
    • 再多的改变也不会有丝毫的不同。

我将提交错误报告。

以上是在 Fedora 20 上运行的 Eclipse Kepler 上运行的。

于 2014-05-21T06:50:48.503 回答
2

上面 Little Child 给出的解决方案的一个小更新,以使其与包含空格的参数一起工作。例如第一个参数 - abc def 第二个参数 - ghi 第三个参数 - jkl mno pqrs

在程序参数中,使用双引号给它们这样

"abc def"
"ghi"
"jkl mno pqrs"

如果你不给空格,它将把 abc 作为第一个参数, def 作为第二个参数, ghi 作为第三个参数,依此类推。

于 2019-05-01T10:29:57.897 回答
1

对于 Eclipse 霓虹灯用户

第 1 步:单击运行 -> 运行配置

第 2 步:单击参数选项卡。

第 3 步:在 VM Arguments 中插入所需的参数。

第四步:点击应用

第五步:点击运行。

于 2017-06-01T06:09:18.783 回答