在开发(和调试)期间,直接从Eclipse内部运行Java类' public static void main(String [] argv)方法非常有用(使用Run As上下文菜单)
是否有类似的快速方法为运行指定命令行参数? 我现在做的是转到“运行对话框”,单击各种设置到选项卡,我可以在其中指定VM和程序参数并在那里输入。 步骤太多,而且我不希望将更永久的运行时配置设置与一次性invokation参数混合使用。 我想要的是在某处检查一个框(或者有一个单独的菜单项“使用命令行运行为Java应用程序”),然后每次都会提示输入命令行(历史很好)。
答案 0 :(得分:50)
这个答案基于Eclipse 3.4,但应该适用于旧版本的Eclipse。
选择Run As ...时,请进入运行配置。
在Java运行配置的Arguments选项卡上,配置要显示的变量$ {string_prompt}(您可以单击变量来获取它,或者复制它以直接设置它)。
每次使用该运行配置时(将其命名为以便以后使用),系统都会提示您输入命令行参数。
答案 1 :(得分:16)
Uri是错误的,有一种方法可以直接在Eclipse中向main方法添加参数,但参数不会非常灵活(允许一些动态参数)。这是你需要做的:
Run -> Run configurations...
Java Application
下的列表中选择您的班级,或者输入其名称以过滤框。Program arguments
框。如果不清楚,它们是以空格分隔的,所以"a b c"
(没有引号)意味着你将参数a,b和c传递给你的程序。我建议使用JUnit / wrapper类,就像Uri所说的那样,因为这样你可以更好地控制实际参数而不是这样做。
答案 2 :(得分:2)
AFAIK在Eclipse中没有内置机制。
最接近的是创建一个包装器,提示您输入这些值并调用(硬编码)main。只要您不清除已终止的进程,就可以获得执行历史记录。对此的两个变体是使用JUNit,或使用注入或参数,以便您的包装器始终连接到其主要的正确类。
答案 3 :(得分:1)
我不确定你的用途是什么,但我发现通常我只使用几个命令行参数很方便,因此每个场景都有一个运行配置,我只需从中选择一个运行历史。
你建议的功能似乎有点过分,IMO。
答案 4 :(得分:0)
另一个想法:
将所有参数放在属性文件中(一个参数=此文件中的一个属性),然后在main方法中加载此文件(使用Properties.load(*fileInputStream*)
)。
因此,如果您想修改一个参数,您只需编辑args.properties文件,然后启动您的应用程序而无需执行更多步骤...
当然,这仅用于开发目的,但如果你不得不经常更改你的论点,那么它们真的很有用......
答案 5 :(得分:0)
如果字符串参数中包含空格,请执行以下操作:
运行>运行配置> Java应用程序>参数>程序参数