从 Groovy 导入 Scala
Import Scala from Groovy
有没有一种方法,首选标准方法来导入 Scala 代码(本地 jar,或本地 maven,或远程工件)?
我们在 Grails 上使用 Groovy,我们想使用的一些库是用 Java 或 Scala 编写的。考虑到它们都是 JVM 语言,必须有一种相互作用的方式。
我在网上搜索过,但没有得到明确的答案。
做了一些简单的测试。在 hello-world 示例中,只需使用
groovy -cp the-assembly-SNAPSHOT.jar main-file.groovy
并且在 main-file.groovy
中应该有一个 import
,就像在 Java/Scala
中一样
Scala 和 Java 都编译成 Java 字节码(.class
文件)并打包为 .jar
文件。它是相同的字节码,可以在同一类路径下从任何其他 JVM 语言使用。
因此您的应用程序可以混合 java 任何其他 JVM 语言生成的字节码,包括 Java、Groovy、Scala、Clojure、Kotlin 等。您可以将此类 jar 放入/lib
dir(如果你的 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 由于源语言的不同性质,可能与某些 类 不兼容。但总的来说应该可以。
有没有一种方法,首选标准方法来导入 Scala 代码(本地 jar,或本地 maven,或远程工件)?
我们在 Grails 上使用 Groovy,我们想使用的一些库是用 Java 或 Scala 编写的。考虑到它们都是 JVM 语言,必须有一种相互作用的方式。
我在网上搜索过,但没有得到明确的答案。
做了一些简单的测试。在 hello-world 示例中,只需使用
groovy -cp the-assembly-SNAPSHOT.jar main-file.groovy
并且在 main-file.groovy
中应该有一个 import
,就像在 Java/Scala
Scala 和 Java 都编译成 Java 字节码(.class
文件)并打包为 .jar
文件。它是相同的字节码,可以在同一类路径下从任何其他 JVM 语言使用。
因此您的应用程序可以混合 java 任何其他 JVM 语言生成的字节码,包括 Java、Groovy、Scala、Clojure、Kotlin 等。您可以将此类 jar 放入/lib
dir(如果你的 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 由于源语言的不同性质,可能与某些 类 不兼容。但总的来说应该可以。