在Scala 2.11中使用Java 8

时间:2016-09-05 10:33:36

标签: scala java-8

我想知道在我的scala 2.11程序中是否可以在java 8中使用java.time package

然后如何将它添加到我的sbt项目中?

2 个答案:

答案 0 :(得分:4)

您不需要为项目添加任何内容。 java.time是Java的标准部分,而不是外部第三方依赖。

您只需要确保您的客户在Java 8上运行您的代码。

这与SBT无关。 SBT是构建工具。这是关于如何编译您的代码。但问题是您需要控制客户运行代码的方式。您只需在文档中声明您的代码仅适用于Java 8+并希望您的客户实际上读取该文档,就可以做到这一点。您可以使用启动器在运行主代码之前检查Java版本并打印出合适的错误消息。

答案 1 :(得分:-2)

  

在Scala 2.12出现之前,Java 6,7或8可以与任何一个一起使用   它内置的包和java.time是一个内置的包。所以可以   用过的。然而,最新版本的Scala 2.12仅支持Java 8.所以无论如何是可以在Java 8中使用

如果你在Scala中明确地想要这个包,你必须将java.time依赖项添加到sbt文件。在maven central中它被Joda-time取代。它是由Apache提供的单独的Java.time Api。

可以在https://mvnrepository.com/artifact/joda-time/joda-time

找到
  

要使用它,请添加:

(
libraryDependencies += Seq( "joda-time" % "joda-time"    % "2.3"
                           , "org.joda"  % "joda-convert" % "1.6"
 // other dependencies 
                           ) 
     

给你sbt文件。

对于Joda-time的Scala编译,需要joda-convert。它实际上将对象转换为Strings和从Strings转换对象。

  

注意:如果您明确想要在Github上使用java.time Scala实现找到Scal-Java-time链接。