使用Eclipse中的参数调用Java main方法

时间:2008-12-17 00:53:28

标签: java eclipse main-method

在开发(和调试)期间,直接从Eclipse内部运行Java类' public static void main(String [] argv)方法非常有用(使用Run As上下文菜单)

是否有类似的快速方法为运行指定命令行参数? 我现在做的是转到“运行对话框”,单击各种设置到选项卡,我可以在其中指定VM和程序参数并在那里输入。 步骤太多,而且我不希望将更永久的运行时配置设置与一次性invokation参数混合使用。 我想要的是在某处检查一个框(或者有一个单独的菜单项“使用命令行运行为Java应用程序”),然后每次都会提示输入命令行(历史很好)。

6 个答案:

答案 0 :(得分:50)

这个答案基于Eclipse 3.4,但应该适用于旧版本的Eclipse。

选择Run As ...时,请进入运行配置。

在Java运行配置的Arguments选项卡上,配置要显示的变量$ {string_prompt}(您可以单击变量来获取它,或者复制它以直接设置它)。

每次使用该运行配置时(将其命名为以便以后使用),系统都会提示您输入命令行参数。

答案 1 :(得分:16)

Uri是错误的,有一种方法可以直接在Eclipse中向main方法添加参数,但参数不会非常灵活(允许一些动态参数)。这是你需要做的:

  1. 按原样运行课程。
  2. 转到Run -> Run configurations...
  3. 从左侧列表中,从Java Application下的列表中选择您的班级,或者输入其名称以过滤框。
  4. 选择Arguments选项卡并将参数写入Program arguments框。如果不清楚,它们是以空格分隔的,所以"a b c"(没有引号)意味着你将参数a,b和c传递给你的程序。
  5. 再次运行您的课程,就像在第1步中一样。
  6. 我建议使用JUnit / wrapper类,就像Uri所说的那样,因为这样你可以更好地控制实际参数而不是这样做。

答案 2 :(得分:2)

AFAIK在Eclipse中没有内置机制。

最接近的是创建一个包装器,提示您输入这些值并调用(硬编码)main。只要您不清除已终止的进程,就可以获得执行历史记录。对此的两个变体是使用JUNit,或使用注入或参数,以便您的包装器始终连接到其主要的正确类。

答案 3 :(得分:1)

我不确定你的用途是什么,但我发现通常我只使用几个命令行参数很方便,因此每个场景都有一个运行配置,我只需从中选择一个运行历史。

你建议的功能似乎有点过分,IMO。

答案 4 :(得分:0)

另一个想法:

将所有参数放在属性文件中(一个参数=此文件中的一个属性),然后在main方法中加载此文件(使用Properties.load(*fileInputStream*))。 因此,如果您想修改一个参数,您只需编辑args.properties文件,然后启动您的应用程序而无需执行更多步骤...

当然,这仅用于开发目的,但如果你不得不经常更改你的论点,那么它们真的很有用......

答案 5 :(得分:0)

如果字符串参数中包含空格,请执行以下操作:

运行>运行配置> Java应用程序>参数>程序参数

  1. 用引号
  2. 括起你的字符串参数
  3. 用空格或新行分隔每个参数
相关问题