I wish to try out scalafx targeting javafx 8 using scala 2.11.x on the latest version of Intellij. I have downloaded the most recent version of scalafx (scalafx_2.11-8.0.40-R8). To use JavaFx 8 I need JDK 8 however scala 2.11.x says the following:
Required Java Version The Scala 2.11.x series targets Java 6, with (evolving) experimental support for Java 8. In 2.11.x, Java 8 support is mostly limited to reading Java 8 bytecode and parsing Java 8 source. Stay tuned for more complete (experimental) Java 8 support. The next major release, 2.12, will most likely target Java 8 by default.
Question: How do I configure this? Can I just use Java 8 and scalafx in an Intellij scala project? Thanks.
答案 0 :(得分:2)
是的,您可以在IDEA项目中使用ScalaFX 8和Java 8。实际上,ScalaFX 8只能与Java 8一起使用。它支持新的JavaFX 8功能,并且使用Java 8作为二进制目标进行编译。推荐的方法是使用SBT。 ScalaFX Hello World是一个简单的SBT项目的例子,可以加载到IDEA中。
对于基本项目,将ScalaFX jar作为依赖项添加到IDEA(如您所述)就足够了,您还需要添加Scala二进制文件。 ScalaFX 8是使用Java 8二进制目标编译的,因此您可能需要将该Java级别设置为8。
Scala 2.11适用于Java 8.你的问题中提到的“部分支持”是用于生成Java 8特定字节代码,并且只意味着Scala 2.11编译器没有充分利用新的Java 8 lambdas和其他功能生成字节码时。它不会影响Scala 2.11和ScalaFX 8使用Java 8的能力。例如,您可以使用使用Java 8 lambdas的Scala / ScalaFX Java库。