3

scala クラスから Dll を作成しようとしています。IntelliJ と SBT を併用しています。ikvm-converter を使用して、.jar ファイルを Dll に変換する方法を既に見つけました。問題: SBT で「パッケージ」を使用して .scala ファイルから .jar ファイルを作成し、その後 ikvmc でそれを Dll に変換しようとすると、C# に統合すると結果のライブラリが空になります...

たとえば、Jama-Library (Java で記述) の変換は正常に機能しますが、Scama (Scala で記述) の変換は機能しません。

scala コードを dll に変換する方法はありますか? 「Scala to Java」変換ツールはありますか?

よろしく、 クリストフ

4

1 に答える 1

3

私は .NET の知識はありませんが、SK-logic と質問へのコメントから判断すると、Scala ランタイム ライブラリは含まれてsbt packageいませ。これは、プロジェクトを他の Scala プロジェクト内で使用するライブラリとしてエクスポートすることを想定しているためです。

したがって、ランタイムを含む「ファット」jar を作成する必要があります。たとえば、このブログでは、作成者がプロジェクト jar とランタイム jar の両方を変換して、完全に自己完結型の実行可能ファイルを作成する方法を確認できます。

sbt でそれを行うためのさまざまなツールがあります。最も簡単なのはsbt-assemblyですが、ランタイム全体を追加するだけなので、ファイルが非常に大きくなります。それが問題になる場合は、代わりにproguard pluginを使用してランタイムをフィルタリングすることをお勧めします。このトピックの詳細については、別の StackOverflow エントリを参照してください。

于 2012-07-19T10:43:37.347 に答える