有没有一种方法,首选标准方法来导入Scala代码(本地jar,或本地maven,或远程artifactory)?
我们正在 Grails 上使用 Groovy,并且我们想要使用的一些库是用 Java 或 Scala 编写的。考虑到它们都是 JVM 语言,必须有一种相互作用的方式。
我在网上搜索过,但没有得到明确的答案。
最佳答案
Scala 和 Java 都编译为 Java 字节码(.class
文件)并打包为 .jar
文件。它是相同的字节码,并且可以在相同类路径下的任何其他 JVM 语言中使用。
因此,您的应用程序可以混合任何其他 JVM 语言(包括 Java、Groovy、Scala、Clojure、Kotlin 等)生成的 Java 字节码。您可以将此类 jar 放入 /lib
目录(如果您的 Grails版本支持此;这是不太受欢迎的方式)或作为来自 Maven 存储库(本地或远程)的依赖项。然后您可以在代码中使用此类类
参见:
- https://en.wikipedia.org/wiki/Java_bytecode
- http://grails.github.io/grails-doc/2.4.x/guide/conf.html#dependencyResolution对于 grails 2.4.x
- http://grails.github.io/grails-doc/latest/guide/conf.html#dependencyResolution获取最新的 Grails
PS,由于源语言的不同性质,某些类可能存在一些不兼容性。但一般来说它应该有效。
关于java - 从 Groovy 导入 Scala,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31015822/