【问题标题】:Interacting with Java Jar through Command Line通过命令行与 Java Jar 交互
【发布时间】:2016-03-05 17:09:02
【问题描述】:

有哪些方法可以在命令行中与 jar 帖子创建进行交互?我知道你可以在创建时传递参数(例如 java -jar foo.jar foo bar),但这不是我想要的。

我希望发生的事情的示例

java -jar foo.jar

一段时间后

// Someway to interact with the above jar e.g. Call a method

【问题讨论】:

  • 你指的是什么类型的交互?
  • 任何你可以想象的方式。还有更多。
  • 我想调用一个方法并通过命令行向方法传递参数。
  • @GregWringle 为什么?为什么要关注方法?这会将太多的应用程序内部结构暴露给最终用户。例如,查看 JMX。或者你可以一直使用 HTTP 服务器和 REST(另一个例子)。

标签: java


【解决方案1】:

见:What is "String args[]"? parameter in main method Java

 public static void main(String args[])
{
int n=args.length; // number of arguments

String arg1=args[0]; // param 1
// then param2, ...

}

节目中的互动:

看到这个:How to use readline() method in Java?

    BufferedReader buffer=new BufferedReader(new InputStreamReader(System.in));
    String line=buffer.readLine();
    System.out.println("LINE:"+line);

如果你想运行一些任务,同时获得一些用户输入,你必须用线程启动你的任务:例如:Java - creating a new thread

【讨论】:

    【解决方案2】:

    与 jar 文件交互的典型方法是指定要调用的主类,然后从命令行读取参数。

    public static void main(final String[] args) {
       // evaluate command line arguments here
       System.out.println("number of arguments=" + args.length);
       System.out.println("arg1" + args[0]);
    }
    

    在命令行上:

    java.exe -cp myjar.jar com.mycompany.Myclass  arg1 arg2 arg3
    

    其中 MyClass 包含主要方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      • 2010-11-28
      相关资源
      最近更新 更多