webentwicklung-frage-antwort-db.com.de

Wie finde ich das richtige Maven-Archetypprojekt für die Entwicklung mit Scala in Eclipse?

Ich habe Probleme beim Versuch, ein Maven-Projekt mit Scala (v2.11.6) in Eclipse (Luna) zu erstellen. In der Anleitung hier heißt es, beide Plugins unten zu installieren .

  • Maven-Integration in Eclipse
  • m2Eclipse-Scala-Anschluss

Beide Plugins können mithilfe der m2Eclipse-scala-Aktualisierungssite installiert werden. Also hier ist, was ich in meinem ersten Versuch getan habe.

  • Eclipse Luna herunterladen (für JavaEE-Entwickler)
  • Installieren Sie "beide" Plugins über die m2Eclipse-scala-Update-Site.

Beim Laden von Eclipse versuche ich, ein Maven-Projekt zu erstellen. Der Archetyp, den ich verwenden möchte, ist Group Id = net.alchim31.maven, Artifact Id = scala-archetype-simple, Version = 1.5. Dieser Archetyp wird jedoch nie angezeigt, wenn ich "scala-Arch" in das Filtertextfeld eingebe.

Das einzige Projekt, das ich sehe, ist das mit Group Id = org.scala-tools.archetypes, Artifact Id = scala-archetype-simple, Version = 1.2. Wenn ich diesen Archetyp auswähle, wird in Eclipse eine Reihe von Fehlermeldungen angezeigt.

  • fehler beim Laden von ConsoleRunner, Scala Signatur ConsoleRunner hat falsche Version erwartet: 5.0 gefunden: 4.1 in ConsoleRunner.class
  • fehler beim Laden von JUnit4, Scala= Signatur JUnit4 hat falsche Version erwartet: 5.0 gefunden: 4.1 in JUnit4.class
  • fehler beim Laden der Spezifikation, Scala Signatur Spezifikation hat falsche Version erwartet: 5.0 gefunden: 4.1 in Specification.class

Bei meinem zweiten Versuch versuche ich, das vorgefertigte Bundle herunterzuladen ( Scala IDE für Eclipse ). Wiederum, wenn ich versuche, ein Scala Maven-Projekt, Maven-Archetyp für Gruppen-ID = net.alchim31.maven wird nicht angezeigt (nur für Gruppen-ID = org.scala-tools.archetypes).

Irgendwelche Ideen, was ich hier falsch mache? Oder wo finde ich ein Vanilla Scala Maven-Projekt zum Importieren/Ändern und Verwenden für meinen eigenen Zweck?

25
Jane Wayne

Hier ist, wie ich es zum Arbeiten gebracht habe. Anscheinend sind nicht alle Archetypen verfügbar. Ausgehend von diese Antwort habe ich einen Remote-Katalog erstellt

Vor

Image showing the original dialog with missing entry

Also mach das

Gehen Sie zu [Windows] → [Einstellungen] → [Maven] → [Archetypen] → Add Remote Catalog und dann den Katalog erstellen Apply

Image showing "Remote Archetype Catalog" modal window

Zum Kopieren einfügen:

Kehren Sie zum Erstellen eines neuen Maven-Projekts zurück. Wähle aus Remote Catalog aus dem Dropdown. Es wird einige Momente dauern, bis alle Archetypen erfasst sind. Sie können den Fortschritt ganz unten rechts in der IDE sehen. Wenn es fertig ist, sollten Sie in der Lage sein, die Archetypen zu sehen

Nach

Image showing "scala-archetype" entry in the dialog

Erstellen Sie Ihr Projekt mit groupId und artifactId und so weiter.

Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie dann im Kontextmenü [Ausführen als] und dann [Maven Build]. Geben Sie im Dialogfeld clean package in die Ziele. Der Lauf. Das Projekt sollte die Tests erstellen und ausführen.

Bei mir ist zuerst ein Fehler beim Build aufgetreten. Das lag daran, dass meine Standardumgebung Java 8 verwendet. Ich bin ziemlich neu in Scala, daher bin ich mir nicht sicher, ob es ein Problem mit Scala gibt und Java 8 oder nicht (Ich denke, es ist die Scala Version im pom (2.10.0)). Aber was ich getan habe, um es zum Laufen zu bringen, war Ändern Sie einfach die in Java verwendete IDE= zu Java 7.

Gehen Sie einfach zu [Windows] → [Einstellungen] → [Java] → [Installierte JREs] → Add → [System VM] → Next → Verzeichnis → Finden Sie das Verzeichnis der Java home (version 7) → Finish → Dann in der Liste Java 7.

Dann wieder aufbauen. Es sollte funktionieren. Viel Glück!

55
Paul Samsotha

Ein Punkt, den ich hinzufügen möchte, wenn Sie während der Installation des in Bild 1 gezeigten Archetyps folgenden Fehler erhalten

Archetyp org.glassfish.jersey.archetypes: jersey-quickstart-webapp: 2.21 org.Eclipse.core.runtime.CoreException: Artefakt org.glassfish.jersey.archetypes: jersey-quickstart-webapp: pom: kann nicht aufgelöst werden 2.21

Bild 1: enter image description here

Bevor Sie mit der angegebenen Lösung fortfahren oben , versuchen Sie, diese Schritte in Eclipse auszuführen.

2
Deepak Acharya

Nachdem Sie das Scala-Maven-Projekt wie oben beschrieben erfolgreich erstellt haben, wird wahrscheinlich ein Fehler angezeigt "Typ nicht gefunden: Typ JUnitRunner specs.scala". Fügen Sie in diesem Fall das folgende XML-Snippet manuell zu Ihrem pom hinzu.

<dependency>
    <groupId>org.specs2</groupId>
    <artifactId>specs2-junit_${scala.compat.version}</artifactId>
    <version>2.4.16</version>
    <scope>test</scope>
</dependency>

Um Fehler beim Ausführen von mvn test Zu vermeiden,

[ERROR] scalac error: bad option: '-make:transitive'

Sie müssen auch die folgende Zeile aus der Datei pom.xml Löschen:

<arg>-make:transitive</arg>
1
Viliam Simko

Ich hatte das gleiche Problem und bin zufällig auf diese SO) Frage und die Antwort von @peeskillet gestoßen (vielen Dank). Ich benutze:

  • Maven 3.3.3
  • Eclipse Luna Scala IDE 4.0.0.-vfinal-20150305-1644-Typesafe
  • Scala 2.11.6
  • JDK 1.8

Nachdem ich den Schritten genau wie hier gefolgt bin, bin ich gegen eine Wand gestoßen. Als ich den richtigen Archetyp (net.alchim31.maven) gewählt habe, wurde ich mit folgendem Fehler begrüßt: Could not resolve artifact net.alchim31.maven:scala-archetype-simple:pom:1.5 Ich hatte den Verdacht, dass der in Eclipse eingebettete Maven lustig war, und besuchte [Windows] -> [Maven] -> [Installations] und fügte eine lokale Installation von Maven hinzu (was auch immer in meiner Shell auf M2_HOME gesetzt ist). Aber kein Glück!

Verärgert besuchte ich diese Seite: Scala Doc und wechselte zurück zur Kommandozeile, wie auf dieser Seite beschrieben. Überraschenderweise (zumindest für mich) hat es funktioniert. Im vorliegenden Verzeichnis wurde ein Maven-Scala-Projekt erstellt, das ich in Eclipse importieren konnte.

Nur damit ich nicht missverstanden werde, schlage ich nicht vor, dass die Antwort von @ peeskillet falsch ist. Ich wollte nur einen anderen Weg zum Erstellen eines Maven-Scala-Projekts auf Eclipse teilen, falls es jemandem hilft. Ich habe noch nicht verstanden, warum Eclipse-Scala-IDE noch nicht das Aha-Gefühl vermittelt.

1
Nirmalya