我想知道在我的scala 2.11程序中是否可以在java 8中使用java.time package?
然后如何将它添加到我的sbt项目中?
答案 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
找到对于Joda-time的Scala编译,需要joda-convert。它实际上将对象转换为Strings和从Strings转换对象。要使用它,请添加:
( libraryDependencies += Seq( "joda-time" % "joda-time" % "2.3" , "org.joda" % "joda-convert" % "1.6" // other dependencies )
给你sbt文件。
注意:如果您明确想要在Github上使用java.time Scala实现找到Scal-Java-time链接。