Scala プロジェクトがあり、それを jar としてエクスポートしたいと考えています。
*1. まずはエントリポイントとしてプロジェクトのJavaクラスを作ってみました
public class JMain {
public static void main(String[] args) {
System.out.println("Java main calling Scala main");
SMain.main(new String[] {""}); //SMain.main is the actual *main*
これは Eclipse から起動すると問題なく動作しましたが、jar としてエクスポートすると 18 個ほどの例外が発生します。私は今、Eclipseがこれを起動する「環境」を複製する方法を知っています.Scalaがすでにシステムにあるという事実に依存していると確信しています.すべてがそこに詰め込まれた自己完結型のjarが必要です.
*2. 私の 2 回目の試みは、ここでlachが提案したことを試すことでした。Eclipseから Scala プロジェクトをデプロイする方法は? すなわち:
public class JMain {
public static void main(String[] args) {
System.out.println("Java Main");
List<String> argList = new ArrayList<String>();
argList.add("fully.qualified.ClassName"); //???
for (String s : args) argList.add(s);
scala.tools.nsc.MainGenericRunner.main(argList.toArray(new String[0]));
今回は、有名なNoClassDefFoundErrorで始まる 6 つほどの例外しか与えませんが、Eclipse からは実行されません。私は完全に取得していないと感じています.qualified.ClassNameが正しくありません。*3. メインのScala クラスが "Dis.scala" と呼ばれ、パッケージ "pack" にある場合、この full.qualified.ClassName は "pack.Dis" ではないでしょうか?
私は Jre 1.6 と Scala 2.9.2 を使用しています。
PS私はAnt、Maven、またはSbtに精通していません。私は自分の Scala プロジェクトを混乱させたいだけです。