如何从java程序的main方法调用Scala程序的main方法?

yAs*_*AsH 11 java scala

假设我在Java项目中有一个Scala类和一个Java类,scala类如下所示

class Sam {

  def main(args: Array[String]): Unit = {
    println("Hello")
  }

}
Run Code Online (Sandbox Code Playgroud)

如何从同一项目中存在的java程序的main方法中调用它的main方法

Mar*_*lis 25

通常,主要方法static在Java中,object在Scala中.这允许您从命令行运行它们.你的代码定义了一个class,而不是一个object.

我建议将您的Scala代码更改为:

object Sam {
  def main(args: Array[String]): Unit = {
    println("Hello")
  }
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以从Java main方法中调用它,如下所示:

class Foo  {
    public static void main(String[] args) {
        Sam.main(args);
    }
}
Run Code Online (Sandbox Code Playgroud)