Как добавить файлы зависимостей в Scala?

Я новичок в Scala и Spark и начал писать простую программу Apache Spark в Scala IDE (в Eclipse). Я добавил файлы jar зависимостей в свой проект, как обычно делаю в своем java-проекте, но он не может их распознать и выдает следующее сообщение об ошибке object apache is not a member of package org. Как мне добавить файлы jar зависимостей?

Файлы jar, которые я добавляю, существуют в каталоге «lib», где установлен Spark.


person HHH    schedule 10.07.2015    source источник
comment
В проекте Eclipse Scala щелкните значок проекта, выберите свойства внизу, выберите путь сборки Java, выберите «Добавить внешние банки», выберите нужные банки, нажмите «Открыть», нажмите «ОК», и банки будут в списке ссылок вашего проекта. Папка Libraries, которая создается при необходимости, и они будут в вашем проекте CLASSPATH.   -  person    schedule 10.07.2015
comment
это на самом деле то, что я сделал и получил эту ошибку!   -  person HHH    schedule 11.07.2015
comment
У Spark есть проблема с конфликтующими зависимостями. Я использую проекты Maven для него в Eclipse с некоторым успехом, но в целом он слишком тяжелый для Eclipse на моем ноутбуке, и я решил использовать sbt с интеграцией Eclipse, чтобы я мог использовать его редакторы, а затем выполнять сборки sbt.   -  person    schedule 11.07.2015
comment
@TrisNefzger, поскольку я новичок в искрах, sbt и scala, не могли бы вы рассказать об этом подробнее? Каковы точные шаги?   -  person HHH    schedule 11.07.2015
comment
Это слишком обширный вопрос для полного ответа. sbt — это стандартный (простой) инструмент сборки Scala. Он написан на Scala и доступен по адресу scala-sbt.org. Его можно интегрировать с Eclipse с помощью плагина, который позволяет импортировать проект sbt в Eclipse. Этот подключаемый модуль доступен по адресу github.com/typesafehub/sbteclipse. Демонстрационные проекты Spark, использованные в обучении Spark Summit 2014, используют sbt. Ресурсы для этого обучения находятся по адресу spark-summit.org/2014/training. Eclipse отлично подходит для Java и подходит для простых проектов Scala, но не для сложных.   -  person    schedule 11.07.2015


Ответы (1)


Для scala вы используете SBT в качестве менеджера зависимостей и компилятора кода.

Подробнее о настройке здесь:

http://www.scala-sbt.org/release/tutorial/Setup.html

Однако ваш файл сборки будет выглядеть примерно так:

name := "Test"

version := "1.0"

scalaVersion := "2.10.4"

libraryDependencies += "org.apache.spark" %% "spark-sql" % "1.3.0"

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.3.0"
person ApolloFortyNine    schedule 10.07.2015
comment
Могу ли я сделать это в Eclipse? - person HHH; 10.07.2015
comment
github.com/typesafehub/sbteclipse – вы должны попрактиковаться в Google-фу. Eclipse SBT, первая ссылка! - person Seer; 10.07.2015
comment
sbteclipse немного ручной (вам нужно запускать команду каждый раз, когда вы меняете свои зависимости). Вместо этого я бы рекомендовал использовать maven; Интеграция maven в eclipse более полная, и она прекрасно работает со scala. - person lmm; 13.07.2015