2015-11-13 4 views
0

Я обычный пользователь Scala; Я использую среду Scala на основе Eclipse, и мне никогда не нужно было знать maven или sbt. Я бы хотел изучить scalafx, но все инструкции для maven. В Scala IDE Scala не распознает мой импорт. Может ли кто-нибудь сказать мне, как IDE распознает файл jar?Начало работы с scalafx?

У меня есть

  • Scala IDE 4.2.0-vfinal-2015-09-25T11: 10: 29Z-типизированного
  • scalafx_2.12.0-M3-8.0.60-R9.jar
  • JavaSE 1,8
  • контейнер Scala библиотека 2.11.7

Я попытался добавить scalafx банку на мой Java путь сборки (Проект-> Свойства не имеет Scala построить путь), и это не сработало, s o Я не знаю, что еще попробовать.

Благодарим заранее!

// ----- Не ответ, слишком долго для комментариев, извините -----

Я ценю тот факт, что, будь я серьезно Scala разработчик, я должен научиться Maven и SBT , Но не я.

В течение последних нескольких лет я преподавал курс «Программирование парадигм». В этом семестре я преподавал Prolog, Clojure, Haskell, Elm и немного Forth и REBOL. Как и в прошлом, я заканчиваю Scala, потому что я думаю, что это объединяет много идей на других языках и будет достойным преемником Java. Из того, что я прочитал, scalafx выглядит прост в использовании, и было бы неплохо, если бы последнее назначение было назначением GUI с использованием scalafx.

Для любого языка программирования внешние факторы - IDE, эквиваленты, тестовые рамки, группы поддержки и т. Д. - по меньшей мере так же важны, как и сам язык. Учитывая объем материала, который уже прошел в курсе, я явно не охватываю ни один из этих внешних факторов для любого из языков.

Поскольку установка scalafx, по-видимому, не такая простая, как добавление файла jar в Eclipse (который мои ученики уже используют), в моей ситуации просто не стоит изучать SBT и уделять дополнительное время классу обучению.

Возможно, в следующем году scalafx - или, я думаю, Scala IDE - созреет до такой степени, что я могу использовать его в своем курсе.

Спасибо всем за разъяснение ситуации.

+0

Я понимаю, что я не отвечаю на ваш вопрос ... но вы бы лучше научились Maven и/или SBT. –

+0

Я действительно не использую Eclipse для Scala, но мне было любопытно, добавили ли вы зависимости, и это не сработало? – ItachiUchiha

+0

Прошу прощения за то, что SBT не подходит для вас - это позор, поскольку ScalaFX (и почти все другие библиотеки JVM) предполагает, что вы используете управляемые зависимости. Переход на ручной маршрут не является жизнеспособной альтернативой. К сожалению, плагин ScalaIDE от Eclipse не поддерживает (по версии V4.2) поддержку SBT и вместо этого использует собственную внутреннюю систему сборки, поэтому я предлагаю вам взглянуть на IntelliJ. Хорошей новостью является то, что ScalaIDE V4.3 (который должен был выйти в прошлом месяце, но немного позже) нацелен на интеграцию SBT в качестве своей системы сборки. Таким образом, вы в скором времени сможете использовать Eclipse, Scala и SBT в любом случае ... –

ответ

1

Это не может быть ответом, что вы хотели, но я бы порекомендовал вам идти либо Maven или SBT - предпочтительно последний, так как он ориентирован на Scala и Scala пользователей. Причина этого довольно проста: обе системы будут управлять вашими зависимостями автоматически, очень просто.

Если вы решили управлять зависимостями вручную, то, рано или поздно, вы собираетесь отправиться в мир боли. Например, ScalaFX может иметь свои собственные зависимости, которые вам придется загружать и устанавливать на вашем пути к классу, и у них могут быть свои собственные зависимости и т. Д. И т. Д.

Изучение SBT может быть проблемой, но также очень просто сделать простые проекты. Например, следующий файл SBT (скопировать в файл с именем build.sbt в корневом каталоге вашего проекта) является минимальным для ScalaFX приложения:

name := "myproject" 

version := "0.1-SNAPSHOT" 

scalaVersion := "2.11.7" 

libraryDependencies += "org.scalafx" %% "scalafx" % "8.0.60-R9" 

Просто убедитесь, что вы используете последний-to дата версии Java 8 (вам понадобится ScalaFX 2, если вы используете Java 7).

Кроме того, вы можете попробовать JetBrain «s бесплатно сообщества издание IntelliJ IDEA с Scala плагин, как альтернатива Затмения. IntelliJ опоры Scala и SBT очень хорошо.

UPDATE: Кроме того, я только что заметил, что у вас есть Scala версия ScalaFX 2.12, но вы используете Scala 2.11 компилятор. К сожалению, для каждой версии компилятора необходима соответствующая копия кода библиотеки Scala. Это еще одна причина для использования SBT. :-)

0

Я использую ScalaFX со студентами около года, как из командной строки, так и изнутри Eclipse. Я не использую ни sbt, ни Maven для этой работы, чтобы упростить работу учеников. Я создал JAR-файл, похожий на тот, который у вас есть, и либо использовал -cp из командной строки, либо добавил его в путь сборки (как внешний JAR) в Eclipse. Оба подхода отлично справились со мной. Я создаю и создаю объект и расширяю его scalafx.application.JFXApp. Это запускается и всплывает окно. Это поможет узнать больше о том, как он не работает. Не компилируется ли он, потому что элементы ScalaX не найдены или не запускаются после компиляции?

Я также отмечу, что на момент написания этого ответа ScalaFX еще не работает для Scala 2.12, который находится на этапе M4.