编译器构造 – 可以编译Scala程序以在任何JVM上运行,而无需在给
发布时间:2020-12-16 08:49:42 所属栏目:安全 来源:网络整理
导读:如果我编写了 Scala程序,我是否可以通过某种方式对其进行编译,以便任何拥有标准Sun Java JVM的人都可以运行它?我想Scala编译器必须在编译项目中包含Scala特定的API代码?我感兴趣的原因是我们的课程项目通常可以用任何人喜欢的语言提供,但是分级交付的TA通
如果我编写了
Scala程序,我是否可以通过某种方式对其进行编译,以便任何拥有标准Sun
Java JVM的人都可以运行它?我想Scala编译器必须在编译项目中包含Scala特定的API代码?我感兴趣的原因是我们的课程项目通常可以用任何人喜欢的语言提供,但是分级交付的TA通常希望在他们自己的机器或实验室机器上运行代码.
解决方法
您无需执行任何特殊操作即可在JVM上运行已编译的Scala程序.它只是普通的JVM字节码.您唯一需要的是确保标准Scala库(scala-library.jar)在运行时包含在类路径中.这只是额外的依赖(或者如果你为你的GUI使用Swing包装器,你也可能需要scala-swing.jar).
如果您担心用户的方便,您甚至可以将应用程序打包到单个jar中,因此它包含scala-library.jar的内容以及您自己的类和资源.但我个人只有在这个jar可执行时才会这样做(可以作为java -jar yourApplication.jar运行). 关于Scala库的注意事项: >它提供了 – 库.没有解释器,没有编译器或某种特殊的执行环境;所以你不应该担心类加载问题.>它应该与您在编译程序期间使用的Scala版本相匹配(2.7和2.8的Scala库不可互换).>它可以在Scala发行版中找到:lib / scala-library.jar (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |