scala-native可以使用现有的Java / Scala库吗?

时间:2016-06-30 18:07:44

标签: scala-native

我无法理解想要由scala-native编译的项目是否可以:

  1. 使用Java库?如果是的话,它是否为scala-native提供了Java和Scala的提前编译器?
  2. 使用Scala库(编译为JVM字节码)
  3. 我知道只有部分Scala标准库可用。是因为使用Java标准库有部分实现吗? 如果它不能,这个缺点是否会使[非平凡]项目几乎不可能使用单个代码库编译到JVM和本机?这方面有计划吗?

3 个答案:

答案 0 :(得分:1)

我离这里的专家很远,但我在Reddit上问了一个类似的问题,并得到了scala-native 与Java库交互的答案(所以我认为它可以不要编译它们。)

它可以连接到原生(' c')库。

我不知道有任何改变的计划。

答案 1 :(得分:1)

来自scale-native.org它应该支持“fat”jar文件,包括分类和NIR文件 - 例如scalaz has added support for scala-native

  

发布Scala Native支持sbt的标准工作流程   包裹分发:

     

编译代码。生成一个包含所有类文件和NIR的jar   文件。将jar发布到sonatype,bintray或任何其他第三方   托管服务。罐子发布后,就可以解决了   通过sbt的标准包装分辨率系统。

答案 2 :(得分:0)

可以想象,JVM 执行的 Java 库或 Scala 库可以通过 JNI 调用,类似于 C/C++ 通过 JNI 调用这些库。这样做的时间恰好是 C/C++ 需要这样做的时候,这应该介于罕见(接近零)和讨厌(邪恶的绝对零)之间。