scala
を初めて使用しています。私は、Javaを使用してスカラクラスを実行する必要があります。Javaを使用してスカラーコードを実行する方法
私の正確な要件は次のとおりです。スカラークラス(ファイル)全体を引数としてJava jar
に渡す必要があります。そのjar
はscala
コードを読んで実行する必要があります。私は多くのサイトを検索しましたが、適切な答えが見つかりませんでした。同じことをする方法はありますか?
ありがとうございました。
scala
を初めて使用しています。私は、Javaを使用してスカラクラスを実行する必要があります。Javaを使用してスカラーコードを実行する方法
私の正確な要件は次のとおりです。スカラークラス(ファイル)全体を引数としてJava jar
に渡す必要があります。そのjar
はscala
コードを読んで実行する必要があります。私は多くのサイトを検索しましたが、適切な答えが見つかりませんでした。同じことをする方法はありますか?
ありがとうございました。
スカラにはscalac
という独自のコンパイラがあり、javaはjavac
を使用しています。 scalac
はjavaが読むことができるクラスファイルにコンパイルするので、クラス内のJavaライブラリのみを使用していると仮定すると、javaクラスをロードできます。スカラファイルをコンパイルしてClassLoaderを使用してクラスファイルをロードすることです。
あなたの動機付けのほかにも、以下のように 私だけで作られた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}
ええと、しかし...なぜ? – Rogue
実際に私たちはアプリケーションを開発しています。それで、私たちはこの必要条件を得ました。 – user5439271
私はさらにそれについて説明します、これは宿題ですか?これはあなたのために何を達成するでしょうか?プラグイン/拡張性のいくつかの形式を実行しようとしていますか? scalaを同じ環境に読み込み、scala(javaから)を独自のプロセスに実行することは、全く異なる2つの世界です。 – Rogue