如何从shell脚本在jar中执行java类

如何从shell脚本在jar中执行java类,java,jar,Java,Jar,我有一个jar文件,有两个类,分别是a类和B类,每个类都有一个main方法 我想创建两个单独的shell脚本来调用它们中的每一个。脚本1用于类A,脚本2用于类B。在每个脚本中,我需要执行以下操作: 调用特定类并将参数传递给其主方法args[0] 传递的参数应该可以使用System.getProperty() main方法应该能够将适当的消息发送回shell脚本,以便在控制台上显示它 我在StackOverflow上读到,这可以通过将字符串写入stdout来实现: System.out.print

我有一个jar文件,有两个类,分别是a类和B类,每个类都有一个main方法

我想创建两个单独的shell脚本来调用它们中的每一个。脚本1用于类A,脚本2用于类B。在每个脚本中,我需要执行以下操作:

  • 调用特定类并将参数传递给其主方法
    args[0]
  • 传递的参数应该可以使用
    System.getProperty()
  • main方法应该能够将适当的消息发送回shell脚本,以便在控制台上显示它
  • 我在StackOverflow上读到,这可以通过将字符串写入stdout来实现:
    System.out.println(“我的消息”)

    我的问题是,应该如何为上述java类调用编写shell脚本命令

    目前我正在玩这个,但它不起作用:

    output = $JAVA -classpath "$CLASS_PATH" -jar /location_of_jar/myjar.jar packagenameofmyclass.MyClass -Dusr.dir=$CUR_DIR $input1 $input2 RC=$?
    echo "$output"
    
    $JAVA CLASS\u PATH CUR\u DIR
    是一个变量,我在上面的脚本文件中设置了它的值

    有人能帮我吗?我是否走对了方向。

    试试:

    output=`$JAVA -classpath "$CLASS_PATH" -jar /location_of_jar/myjar.jar packagenameofmyclass.MyClass -Dusr.dir=$CUR_DIR $input1 $input2`
    

    “标记应使其执行。

    首选且更便于移植的方法是使用
    $(java…