2017-05-10 9 views
-1

scalaを初めて使用しています。私は、Javaを使用してスカラクラスを実行する必要があります。Javaを使用してスカラーコードを実行する方法

私の正確な要件は次のとおりです。スカラークラス(ファイル)全体を引数としてJava jarに渡す必要があります。そのjarscalaコードを読んで実行する必要があります。私は多くのサイトを検索しましたが、適切な答えが見つかりませんでした。同じことをする方法はありますか?

ありがとうございました。

+0

ええと、しかし...なぜ? – Rogue

+0

実際に私たちはアプリケーションを開発しています。それで、私たちはこの必要条件を得ました。 – user5439271

+1

私はさらにそれについて説明します、これは宿題ですか?これはあなたのために何を達成するでしょうか?プラグイン/拡張性のいくつかの形式を実行しようとしていますか? scalaを同じ環境に読み込み、scala(javaから)を独自のプロセスに実行することは、全く異なる2つの世界です。 – Rogue

答えて

0

スカラにはscalacという独自のコンパイラがあり、javaはjavacを使用しています。 scalacはjavaが読むことができるクラスファイルにコンパイルするので、クラス内のJavaライブラリのみを使用していると仮定すると、javaクラスをロードできます。スカラファイルをコンパイルしてClassLoaderを使用してクラスファイルをロードすることです。

0

あなたの動機付けのほかにも、以下のように 私だけで作られたScalaのクラス:

import com.google.common.base.Objects 

class Car(_color: String, _valid: Boolean) { 
    val color: String = _color 
    val valid: Boolean = _valid 

    override def toString = Objects.toStringHelper(this).add("color",color).add("valid", valid).toString 
} 

その後、私はそれをテストするためにmainメソッドを持つクラスを作りました。

public class Test { 
    public static void main(String[] args) { 
     Car test = new Car("test", true); 
     System.out.println("test = " + test); 
    } 
} 

それは何の問題もなくコンパイルされ、その結果は以下のようなものだった:

test = Car{color=test, valid=true} 
関連する問題