2016-08-02 7 views
1

Ich habe bereits ein Projekt in IntelliJ IDEA basierend auf SBT. Es funktioniert gut, kompilieren und ausführen. Jetzt möchte ich auch die Maven-Unterstützung hinzufügen. Wie ist es möglich, dass IntelliJ IDEA die beiden Buildmanager SBT und Maven im selben Projekt unterstützt und zwischen ihnen wechselt?IntelliJ IDEA: unterstützt sowohl SBT als auch Maven in einem einzigen Projekt

+1

warum sollte man das tun wollen? – Mysterion

+0

aber meine Frage war, ob es möglich ist, wenn es Sinn macht. Es könnte möglich sein, dass das Projekt von verschiedenen Personen genutzt wird, die unterschiedliche Build Manager bevorzugen. – ppatierno

+0

und Sie erwarten, dass sie jedes Mal Abhängigkeiten in 2 Dateien hinzufügen? in pom und in sbt? es ist umständlich und fehleranfällig 100%, also meine Frage ist die gleiche, warum möchte man das machen? – Mysterion

Antwort

0

Nach meiner Erfahrung sollten Sie entweder maven oder sbt aktiviert haben. Niemals beides.

Die Lösung:

  • Kasse Projekt aus Repository project_sbt Verzeichnis
  • offenes Projekt in IntelliJ als SBT-Projekt (nur offene project_sbt/build.sbt von der Festplatte)
  • Kasse des gleiche Projekt aus dem Repository Projekt project_maven Verzeichnis .
  • offenes Projekt als maven Projekt in Intellij (nur offener project_maven/pom.xml von der Festplatte)

Nachteile dieser Lösung:

  • Changes in SBT-Projekt nicht sofort in maven Projekt (und vice versa) sichtbar
  • Sie müssen Wartung zwei Build-Systeme (spezielle Plugins)
+0

Ich weiß, dass es umständlich ist, aber vielen Dank für Ihre Antwort! Der einzige Weg ist, das gleiche Projekt zweimal zu öffnen: als SBT und als Maven. IntelliJ bietet keine Möglichkeit, von einem zum anderen zu wechseln. Vielen Dank ! – ppatierno

+0

Ich würde es viel mehr als schwerfällig für ein etwas komplexeres Projekt halten. Das Build-System ist die Verwaltungsinstanz, die Ihr Projekt steuern und steuern soll. Wenn zwei Systeme versuchen, ein Projekt unter Kontrolle zu halten, kann das zu sehr seltsamen Build-Ergebnissen führen. Das ist also der Grund, warum es keinen einfachen Schalter gibt. – Det

Verwandte Themen