簡體   English   中英

如何在Java文件中運行Scala jar文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM