【问题标题】:Shell pass argument to java runned with argumentsShell 将参数传递给使用参数运行的 java
【发布时间】:2013-03-14 09:29:08
【问题描述】:

我正在从这样的 shell 脚本启动一个 java 程序:

JAVA_OPTS=
CLASSPATH=
JMX_OPTS=
java $JAVA_OPTS -cp $CLASSPATH $JMX_OPTS

并且启动的程序期望用户输入另一个参数。不能在启动程序的参数列表中指定它。所以我想知道有没有办法将此参数传递给脚本中的java程序? 我没有这个java程序的源码,所以不能加参数。

【问题讨论】:

  • ... 到底是什么?
  • 如果用户需要输入,那么您应该在程序中输入。
  • 为什么不能将它们作为程序参数传递?
  • 因为我没有 java 程序的源代码,而且这就是这个特定程序的设计方式。

标签: java linux shell


【解决方案1】:
public static void main(String[] args) {
    for (int i = 0; i < args.length; i++)
        System.out.println(args[i]);
}

运行您的程序:
java 名称 arg1 arg2 arg3 arg4

【讨论】:

    【解决方案2】:

    我假设您想将参数传递给 shell 脚本。并在脚本中,将其传递给 Java 程序。 $@ 可以做到这一点。

    java $JAVA_OPTS -cp $CLASSPATH $JMX_OPTS classname $@
    

    参考:Passing arguments to a shell script

    【讨论】:

      猜你喜欢
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-14
      • 1970-01-01
      • 2018-10-17
      • 1970-01-01
      • 2014-09-28
      相关资源
      最近更新 更多