我正在尝试从 scala 类中创建一个 Dll。我将 IntelliJ 与 SBT 一起使用。我已经找到了一种使用 ikvm-converter 将 .jar 文件转换为 Dll 的方法。现在的问题是:当我在 SBT 下使用“package”从我的 .scala 文件中创建一个 .jar 文件并尝试随后使用 ikvmc 将其转换为 Dll 时,在 C# 中集成时生成的库为空...
例如,转换 Jama-Library(用 Java 编写)工作正常,而转换 Scama(用 Scala 编写)不起作用。
有没有办法将 scala 代码转换为 dll?是否有“Scala 到 Java”的转换工具?
最好的问候, 克里斯托夫
最佳答案
我不了解 .NET,但从 SK-logic 和您对问题的评论来看:sbt package
does not include the Scala runtime library,因为它假设您要将您的项目导出为一个库,以便在其他 Scala 项目中使用。
因此,您需要创建一个包含运行时的“胖”jar。例如,在 this blog 中您可以看到作者如何通过转换项目 jar 和运行时 jar 创建一个完全独立的可执行文件。
sbt 有不同的工具可以做到这一点。最简单的是 sbt-assembly ,但你最终会得到一个非常大的文件,因为它只是添加了整个运行时。如果这是一个问题,您可能需要使用 proguard plugin 来过滤运行时。 .有关此主题的更多信息,请参阅 another StackOverflow entry .
关于java - 将 Scala 库转换为 DLL (.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11556244/