将Scala库转换为DLL(.NET)

时间:2012-07-19 07:53:56

标签: java scala dll ikvm

我正在尝试用scala类创建一个Dll。我正在将IntelliJ与SBT一起使用。我已经找到了一种方法,使用ikvm-converter将.jar文件转换为Dll。现在的问题是:当我在SBT下使用“package”从我的.scala文件创建一个.jar文件并尝试将其随后转换为dll时,在C#中集成时生成的库为空...

例如转换Jama-Library(用Java编写)工作正常,转换Scama(用Scala编写)不起作用。

有没有办法将scala代码转换为dll?是否有“Scala to Java”转换工具?

最诚挚的问候, 克里斯托弗

1 个答案:

答案 0 :(得分:2)

我不了解.NET,但从SK-logic和你对问题的评论来判断:sbt package 包含Scala运行时库,因为它假设你要去将项目导出为要在其他Scala项目中使用的库。

因此,您需要创建一个包含运行时的“胖”jar。例如,在this blog中,您可以通过转换项目jar和运行时jar来查看作者如何创建完全自包含的可执行文件。

使用sbt可以使用不同的工具。最简单的是sbt-assembly,但最终会得到一个非常大的文件,因为它只是添加了整个运行时。如果这是一个问题,您可能希望使用proguard plugin来过滤运行时。有关此主题的更多信息,请参阅another StackOverflow entry