2012-12-03 15 views
11

Ich habe ein Projekt für die Verwendung von Scala/Maven/Eclipse konfiguriert. Weil ich eine scala-Bibliothek auf dem Build-Pfad benötigen und scalatest nutzt seine eigene scala Bibliothek erhalte ich diese Warnung:Wie benutze ich nur eine Scala-Bibliothek für Maven/Eclipse/Scala

More than one scala library found in the build path, all with compatible versions. This is not an optimal configuration, try to limit to one scala library in the build path.

Das glaube ich nicht, dass ich diese Warnung entfernen kann, wie ich beide Bibliotheken brauchen - eine für Maven, der andere für Eclipse. Das scheint keine Probleme zu verursachen. Muss ich es einfach akzeptieren? Gibt es eine alternative Konfiguration, die nur eine Scala-Bibliothek für Maven & Eclipse verwendet?

Wenn ich die scala Bibliothek aus dem Projekt entfernen erhalte ich die Fehlermeldung:

Cannot find Scala library on the classpath. Verify your build path!

Aus irgendeinem Grunde von Eclipse die scala Bibliothek erfordert auf dem Build-Pfad zu sein, obwohl es als Maven Abhängigkeit bereits verfügbar ist.

+0

es möglich sein könnte, dass das Projekt, das Sie mehrere Gläser in dem Classpath geladen enthält, die die scala-Bibliothek enthält. (passierte mir vor einer Weile, sah genau diese Nachricht ... einschließlich Gläser genauer, dh die Verwendung der "dünnen" Gläser und nicht der alleinstehenden "fetten" Gläser löste das Problem ...) –

+0

warum brauchst du anders Scala-Bibliotheken zwischen Maven und Eclipse? –

+1

Wenn Maven mit nur einer Scala-Bibliothek in Ordnung ist, dann hast du kein Problem. Verwenden Sie das Maven Eclipse-Plugin 'mvn eclipse: eclipse', um die Eclipse-Projektdateien für das feste Projekt-Setup zu generieren. –

Antwort

10

Es gibt nichts, worüber man sich Sorgen machen muss. Eclipse warnt Sie, dass Sie mehrere scala-library.jar s auf Ihrem Klassenpfad haben, aber solange sie die gleiche Version haben, spielt es keine Rolle.

Wenn einer von ihnen divergierte (z. B. indem er die Scala-Versionsnummer in Ihrer Datei pom stößt), würden Sie in Schwierigkeiten geraten: Abhängig von der Klassenpfadreihenfolge wird die IDE Klassen von dem einen oder anderen übernehmen, und Sie erhalten möglicherweise andere Ergebnisse, wenn Sie in der Befehlszeile erstellen.

zu Ihrem Setup Kommen wir zurück, könnten Sie

  • entfernen Sie den Scala Library Classpath Container aus Ihrem Eclipse-Projekte, nur das Glas zu verlassen, das fügt maven.
  • ignorieren die Warnung
+1

siehe bitte bearbeiten –

+1

Verwenden Sie '2.0.2'? Sie haben wahrscheinlich [dieses Problem] (https://www.assembla.com/spaces/scala-ide/tickets/1000987#/activity/ticket :), das in 2.1.0-meilenstein 2 behoben wurde. –

0

Sie haben hier eine Vermutung, verwenden Sie den vorinstallierten Eclipse Indigo mit Scala 2.9 und dem entsprechenden Scala-Plugin? Wenn Sie diese Bibliothek verwenden müssen, sollten Sie vielleicht Eclipse Juno verwenden? Das ist, was ich benutze und es funktioniert ziemlich gut sowohl mit dem Meilenstein und den nächtlichen Builds

+0

Ich habe Scala Plugin 2.9 separat über Indigo installiert. Ich kann Juno nicht benutzen. –