Может ли Java запустить скомпилированный код Scala? - PullRequest
38 голосов
/ 02 сентября 2010

Может ли команда java запустить скомпилированный код scala?Если так, почему у нас есть эксклюзивная команда scala?

Ответы [ 4 ]

48 голосов
/ 02 сентября 2010

Вы можете запустить байт-код, сгенерированный Scala, если вы включите все необходимые библиотеки времени выполнения для Scala (scala-library.jar, scala-swing.jar ...) в classpath.Команда scala делает это автоматически и поддерживает специфичные для Scala аргументы командной строки.

12 голосов
/ 02 сентября 2010

Да, это возможно. Scala компилируется в байт-код Java. Но помните, что это зависит от классов среды выполнения Scala, поэтому вам все равно нужно иметь файлы jar Scala на пути к классам.

Если так, почему у нас есть эксклюзивная команда scala?

Удобная обертка.

5 голосов
/ 02 сентября 2010

Scala предназначен для легкой интеграции с приложениями, которые работают на современных виртуальных машинах, в первую очередь на виртуальной машине Java (JVM).Основной компилятор Scala, scalac, генерирует файлы классов Java, которые могут быть запущены на JVM.-> http://www.artima.com/scalazine/articles/steps.html

Пока вы установили среду выполнения Scala, все будет в порядке: компилируйте классы с scalac и запускайте их с java.

4 голосов
/ 02 сентября 2010

Просто хочу добавить свой собственный ответ в качестве дополнительного значения для будущих читателей:

scala, если запустить без параметра, запустит интерактивную оболочку

scala, если запустить симя текстового файла в качестве параметра, будет рассматривать файл как скрипт scala

эти два не могут быть выполнены с помощью Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...