【问题标题】:How to pass console arguments to application in eclipse?如何在eclipse中将控制台参数传递给应用程序?
【发布时间】:2019-08-17 05:17:11
【问题描述】:

我在批处理文件中有以下行。

java Client "127.0.0.1" 9876

它包含我的 java 类的名称和两个参数。我的应用程序需要这些参数才能正常运行。

在eclipse中运行应用程序时有什么方法可以传递这些参数吗?这将使调试变得容易得多。当然我可以通过使用代码中参数的值来解决这个问题,但我很好奇。

【问题讨论】:

    标签: java eclipse


    【解决方案1】:

    不要只是点击“运行”图标,而是选择它旁边的下拉框,然后选择“运行配置”。找到您的应用程序(或为其创建运行配置)并将命令行参数放在“参数”选项卡中。有关更多信息,请参阅文档。它应该是这样的:

    【讨论】:

    • 嗨 Jon,我如何通过代码传递 VM 参数?所以我可以将参数放在属性文件中并在代码中检索它们
    • @JadChahine:我不确定你的意思——当你的代码运行时,VM 参数已经被使用了......除非你有一个引导程序读取 VM 参数然后用你的真实程序启动 另一个 VM。
    【解决方案2】:

    查看运行配置。您可以指定参数。您甚至可以提示用户输入参数以及默认值:

    ${string_prompt:host:127.0.0.1} ${string_prompt:port:9876}
    

    第一个提示是host,填写默认值127.0.0.1。第二个弹窗有prmpt端口,填写9876

    【讨论】:

    • 能够提示用户输入参数是我真正想要的!谢谢!
    • 检查文档,iirc有通配符,eclipse会弹出提示对话框
    【解决方案3】:
    1. 右键单击您的项目。
    2. 转到调试为>调试配置运行方式>运行配置
    3. 点击标有参数的标签。
    4. 输入您的程序参数
    5. 点击应用调试

    【讨论】:

      【解决方案4】:

      想添加类似的东西,如何添加多个参数。

      1. 右键单击您的项目。
      2. 调试 > 调试配置
      3. 转到“参数”选项卡。
      4. 输入您的程序参数,每个参数由一个新行分隔。 (例如附图中的 3 个参数)
      5. 点击应用或调试

      希望对你有帮助。

      【讨论】:

        【解决方案5】:

        从“运行”转到调试/运行配置。单击名为“参数”的选项卡。你可以在那里给出程序参数。

        【讨论】:

          【解决方案6】:

          运行配置 > 参数选项卡。只需将"127.0.0.1" 9876 放在程序参数中即可。

          【讨论】:

          • 是空格分隔还是换行?
          • 空格,即程序名、空格、参数。
          • 谢谢。我在同一个线程中对 Swamy 的回答感到困惑。就在您的下方
          • 我不是 100% 确定,但我认为如果你按照他的建议去做,你会得到相同的结果(他的换行符会变成空格)。
          【解决方案7】:

          运行->运行配置->参数->输入你的参数,用空格分隔->应用->运行 确保在运行配置下的“主要”选项卡下选择了正确的项目名称及其主要方法

          【讨论】:

            【解决方案8】:

            这对我有用,在 public static void main 方法中。

            public static void main(String argv[]) throws Exception {
                int port_com = 2;
                boolean debugMode = true;
                int socket = 6789;
                HasarMain hasarMain = new HasarMain();
            
                // Check if a command line argument exists
                if(argv.length != 3){
                    System.out.println("Missing, Port - socket - debugMode!");
                    System.exit(0);
                }
            
                port_com = Integer.parseInt(argv[0]);
                socket = Integer.parseInt(argv[1]);
                debugMode = Boolean.parseBoolean(argv[2]);
            

            运行->运行配置->参数->输入你的参数,用制表符分隔->

            ${string_prompt:argv:"2" "6789" "true"}

            【讨论】:

              猜你喜欢
              • 2012-05-08
              • 2011-09-03
              • 1970-01-01
              • 2011-05-03
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多