2014-01-18 14 views
11

Ich beginne ein Scala-Projekt und ich benutze SBT und Intellij 13 als meine IDE.SBT und externe Bibliotheken in Intellij

Ich habe die folgende build.sbt-Datei, aber ich kann nicht scheinen, die Abhängigkeiten in der SBT "libraryDependencies" Abschnitt zu bekommen, um in "Externe Bibliotheken" nach dem Ausführen von "sbt update" zu sehen.

Nachstehend ist mein build.sbt:

name := "myapp-scala" 

version := "1.0" 

scalaVersion := "2.10.3" 

resolvers += "spray repo" at "http://repo.spray.io" 

resolvers += "spray nightlies" at "http://nightlies.spray.io" 

libraryDependencies ++= Seq(
    "com.typesafe.akka" %% "akka-actor"  % "2.2.0", 
    "com.typesafe.akka" %% "akka-slf4j"  % "2.2.0", 
    "ch.qos.logback"  % "logback-classic" % "1.0.13", 
    "io.spray"   % "spray-can"  % "1.2-20130712", 
    "io.spray"   % "spray-routing" % "1.2-20130712", 
    "io.spray"   %% "spray-json"  % "1.2.3", 
    "org.specs2"   %% "specs2"   % "1.14"   % "test", 
    "io.spray"   % "spray-testkit" % "1.2-20130712" % "test", 
    "com.typesafe.akka" %% "akka-testkit"  % "2.2.0"  % "test", 
    "com.novocode"  % "junit-interface" % "0.7"   % "test->default", 
    "org.scalautils" % "scalautils_2.10" % "2.0", 
    "org.scalatest" % "scalatest_2.10" % "2.0" % "test" 
) 

scalacOptions ++= Seq(
    "-unchecked", 
    "-deprecation", 
    "-Xlint", 
    "-Ywarn-dead-code", 
    "-language:_", 
    "-target:jvm-1.7", 
    "-encoding", "UTF-8" 
) 

Kann mir jemand in die richtige Richtung?

enter image description here

+0

Welche Versionen von scala plugin und IDEA (13..was?) Haben Sie? –

+0

Scala Plugin Version 0.26.361 IntelliJ Version 13.0.1 – binarygiant

+2

Ich hatte gerade das gleiche Problem mit IDEA 13.1.1 und das Aktualisieren von SBT-Projekten hat es für mich getan (Ansicht -> Werkzeugfenster -> SBT -> Alle SBT-Projekte aktualisieren) – LMeyer

Antwort

10

Der beste Weg, mit IDEA zu arbeiten 13 und ein sbt Projekt ist dies:

  • Vergewissern Sie sich, dass Sie das sbt Plugin

enter image description here enter image description here enter image description here

    installiert
  • Wenn Sie haben E installiert, dann starten Sie einfach ein sbt Projekt:

enter image description here enter image description here

Dies sollte für Sie alles, was bis beheben, und Sie können Ihre Befehle über die sbt Konsole ausführen:

enter image description here

1

Zur Integration Sbt mit IntelliJ IDEA Sie dieses Plugin verwenden müssen: https://github.com/mpeltonen/sbt-idea

Es Sie gen-idea mit der Sbt Aufgabe stellt, die die Dateien generieren erforderlich IDEA mit Ihrem Projekt zu konfigurieren.

+4

Nein, tust du nicht. [In neueren IDEA-Versionen sollte die Integration out-of-the-box funktionieren] (http://blog.jetbrains.com/scala/2013/11/18/built-in-sbt-support-in-intellij-idea-13/) ohne jegliche Konvertierung von sbt zu idea. –

+0

Das Ausführen der gen-idea-Aufgabe nach dem Hinzufügen des IDEA-Plug-Ins hat funktioniert. Ich habe ähnliche Kommentare zu wwhom-nom-nom erwähnt. Zumindest in meinem Fall musste ich das Plugin installieren und diese sbt-Aufgabe ausführen. – binarygiant

+0

Ich habe einfach die build.sbt in ein Verzeichnis und verwendet die Option "Projekt importieren" in IDEA, und ich wählte die build.sbt, und es schien um den Rest für mich kümmern ... – binarygiant

0

Ich hatte das gleiche Problem auf IntelliJ CE 14.0.2 Der Projekt/App-Name unter build.sbt und Projekt/build.scala-Datei muss gleich sein. Das hat mir geholfen, das Problem zu beheben.

0

Ähnlich wie @samspired sagte
Ich habe gerade die sbt.Project Variablenname genau wie der Name des Namens Projektmodul und das Problem gelöst.
Gehe zu Datei -> Projektstruktur -> Module
und sehen, was der Modulname ist - (es muss nicht wie der Name des Projektverzeichnisses sein, aber wenn Sie es nicht geändert haben, ist es wahrscheinlich)

// this file is in the path of "../Somewhere_in_file_system/MyProjectName/build.sbt" 
lazy val MyProjectName /*this is the module name*/ = (project in file(".")) 
     .settings(
     scalaVersion := "2.11.8", 
     name := "com-company-blabla-myproject" //..... and all the other sbt properties 
    ) 
Verwandte Themen