[英]how to run scala jar file within java file?
我需要從Java代碼運行Scala jar文件:
因此,如果我有以下Scala代碼:
object test extends App {
override def main(args: Array[String]) {
println("Hello, world! " + args.toList)
}
}
並且我導出了demo.jar
,我想從Java應用程序內部執行嗎? 我使用它的方式是拋出運行時進程,這對我不起作用?
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
public class testscalajar {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Process proc = Runtime.getRuntime().exec(new String[]{"scala","-cp","d:\\demo.jar", "test"});
// Then retrieve the process output
InputStream in = proc.getInputStream();
InputStream err = proc.getErrorStream();
String inString = IOUtils.toString(in, "UTF8");
String errString = IOUtils.toString(err, "UTF8");
System.out.println(inString);
System.out.println(errString);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
有人有其他解決方案嗎?
Scala可以編譯為普通的JVM .class
文件,您不需要任何外部進程即可使用Java的Scala代碼或Scala的Java代碼。
確保您的路徑設置正確,然后只需創建Scala對象並從Java代碼中調用Scala方法,就好像它只是另一個Java庫一樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.