2015-12-23 2 views
2

Мне нужно установить некоторые зависимости в моем простейшем проекте scala (я прохожу некоторый учебник), а один из них - из github. Моя build.sbt выглядит следующим образом:Невозможно импортировать установленную зависимость библиотеки scala/sbt от github

import sbt._ 

lazy val root = Project("root", file(".")) 
    .dependsOn(smile) 
    .settings(
     name := "Xyclade ML practical examples", 
     version := "1.0", 
     scalaVersion := "2.10.6", 
     sbtVersion := "0.13.9", 
     libraryDependencies += "org.scala-lang" % "scala-swing" % "2.10.2" 
    ) 

lazy val smile = ProjectRef(uri("https://github.com/haifengl/smile.git#master"), "root") 

Может быть, мне не хватает базовых знаний Scala/SBT (Я полный нуб), но:

1) import com.github.haifengl._ терпит неудачу с object github is not a member of package com

2) import smile._ приводит к ошибкам not found: object smile

И насколько я узнал, пакет библиотеки должен называться что-то вроде com.github.haifengl: https://github.com/haifengl/smile/search?utf8=%E2%9C%93&q=com.github.haifengl&type=Code

ответ

2

Вы уверены, что пакет com.github.haifengl находится в проекте github, о котором вы упомянули? Может быть, в некоторых из его зависимостей?

Вы не должны добавлять ProjectRef в GitHub проекта, а вы бы лучше добавить его в зависимости:

"com.github.haifengl" % "smile-core" % "1.0.4" 

Как следующее:

import sbt._ 

lazy val root = Project("root", file(".")) 
    .settings(
     name := "Xyclade ML practical examples", 
     version := "1.0", 
     scalaVersion := "2.10.6", 
     sbtVersion := "0.13.9", 
     libraryDependencies += Seq(
       "org.scala-lang" % "scala-swing" % "2.10.2", 
       "com.github.haifengl" % "smile-core" % "1.0.4" 
    ) 
+0

@ мр-V, который работал, спасибо! Я могу импортировать lib, вызывая 'import smile._'. Но я не могу использовать из него какие-либо классы, например 'val plot = ScatterPlot ...' fail с 'not found: value ScatterPlot'. Или я должен явно объявить класс где-нибудь в Scala? –

+0

Исправлено это с помощью 'import smile.plot._' (sry для таких глупых ошибок). Еще раз спасибо! –

Смежные вопросы