В какой степени я могу использовать java 8 в смешанном проекте java/scala 2.10 sbt?
Могу ли я испустить java 8 байт-код? Использовать функции языка java 8? Или есть функции в scala 2.11, которые необходимы? Есть ли общая история?Могу ли я использовать java 8 в смешанном проекте scala 2.10/java, построенном sbt?
ответ
От 2.10.4
Scala release notes:
Новый ByteCode эмиттера на основе ASM
Может целевой JDK 1.5, 1,6 и 1,7
Издает 1.6 байткод по умолчанию
Старый 1,5 Бэкэнд устаревшие
Также
Официальный дистрибутив Scala 2.12 будет построен для Java 8 (и, следовательно, требует его).
Более справочная информация о том, когда вы можете ожидать, чтобы в полной мере использовать Java 8:
Скал 2.11.x серия цель Java 6, с (эволюционирует) экспериментальную поддержку> для Java 8. В 2.11. 1, поддержка Java 8 в основном ограничена чтением> байт-кода Java 8 и разбора источника Java 8. Оставайтесь с нами для более полной> (экспериментальной) поддержки Java 8. Следующий основной релиз, 2.12, скорее всего, будет нацелен на Java 8 по умолчанию.
И ...
Планируемое будущее Java 8-ориентированные дополнения к Scala 2.12 включают Java 8> затворов стиля, что позволит компилятор Scala испускать закрывающие> классы (лямбды) так же, как вам может с Java 8. Также запланирован синтаксис лямбда> для типов SAM. Опять же, в моделях Java 8 это позволяет вам создавать экземпляры> любого типа с помощью одного абстрактного метода, передавая лямбду, улучшая> пользовательский интерфейс для библиотек, написанных для Java 8 в Scala.
http://scala-lang.org/news/2.11.1: поиск Java 8 –
Я знаю, что у scala 2.11 есть экспериментальная поддержка java 8, но я спрашиваю о scala 2.10 (из-за проекта который не может быть обновлен до scala 2.11). –
Итак, если вы знаете, что у 2.11 есть экспериментальная поддержка, просто стоит признать, что 2.10 будет иметь даже меньшую или даже нулевую поддержку. –