Wir sind ein kleiner Laden, der hauptsächlich in Scala arbeitet. Ich frage mich, was einige der erfahreneren Entwickler für eine komfortable Entwicklungsumgebung hielten. Unser Produkt ist um einen HTTP-Server in Scala/Lift zentriert und als War-Datei verteilt. Unsere größte Sorge ist heute SBT: Wir stoßen ständig auf Bugs und eine völlige Reaktionslosigkeit von SBT-Entwicklern. Sollten wir zu Maven wechseln? (Wir verwenden Maven bereits mit den Java-Komponenten unseres Produkts.) Gibt es eine Alternative zu beiden?Maven oder SBT mit Scala?
Antwort
Ich habe viel Maven und Sbt in Scala-Projekten verwendet. Und ich denke beide könnten gut mit Scala spielen. Der Hauptvorteil von sbt ist, dass es mit einer Scala-Umgebung von Anfang an funktioniert (wenn man in Maven eine Menge XML schreiben muss, bevor es scala korrekt kompiliert und scalatest ausführt). Und es ist viel einfacher, sbt als maven zu erweitern, wenn Sie bestimmte (nicht standardmäßige) Build-Aufgaben benötigen.
Aber Maven ist natürlich viel stabiler und hat mehr Plugins. Und mit Tools wie zinc könnte es Ihre Entwicklung mit Scala fast so bequem machen wie mit sbt.
Aber für mich bevorzuge ich sbt in diesem Moment, hauptsächlich weil ich müde von Maven's Ausführlichkeit nicht, weil es etwas schlechtes tun.
Ich hatte generell positive Erfahrungen in einem kleinen Entwicklerteam mit Scala und SBT. Das heißt, ich sehe, dass es over 500 open issues on github gibt! Es scheint kontraproduktiv für die Scala-Community zu sein, dass Teams wieder auf Maven zurückgreifen. Stattdessen denke ich, dass die beste Lösung darin besteht, dass mehr von uns zur fortlaufenden Entwicklung von SBT beitragen.
Danke dir, @Graham S. –
- 1. sbt Maven Kompatibilitätsprobleme
- 2. Scala, SBT, Jenkins?
- 3. Verstehen, wie SBT, Scala, SBT-Idee und Play-Framework zusammenarbeiten
- 4. Maven Projekt von SBT Projektkonverter?
- 5. Scala, sbt und emma oder Cobertura
- 6. Scala Code kompiliert nicht in SBT - Eclipse-Maven bauen
- 7. Wie sbt maven Abhängigkeit konfigurieren nicht einschließlich scala Version
- 8. Welche Abhängigkeit zum Projekt (sbt oder maven) erhält ZeppelinContext?
- 9. HBase Abhängigkeiten mit SBT in Scala
- 10. Scala sbt: Mehrere Abhängigkeiten in sbt
- 11. SBT Scala Version Warnung
- 12. Scala mit Maven kompilieren
- 13. intellij - Welches Scala-Projekt erstelle ich, Scala-Scala oder Scala-SBT?
- 14. Scala sbt - enthalten Abhängigkeitsinformationen in jar
- 15. Sbt und Maven mit lokalen Artefakt Server
- 16. maven-shade wie Plugin für SBT
- 17. "Fehler während der Ausführung von sbt: Keine Scala-Version angegeben oder erkannt" mit SBT von Homebrew
- 18. Sbt nicht Snapshot in lokalen Maven Repo
- 19. mysql Verbindung mit scala und sbt
- 20. Bauglas mit maven-scala-plugin
- 21. Scala Quellverzeichnis in SBT ändern
- 22. Scala SBT werfen IncompatibleClassChangeError Ausnahme
- 23. Setzt sbt gegen scala 2.11?
- 24. mongodb mit scala maven project
- 25. Auflösen von Importkonflikten in Scala SBT
- 26. Abhängigkeiten funktionieren gut in maven, aber nicht in sbt
- 27. Maven Testabdeckung für scala
- 28. scala-library.jar Version in sbt veröffentlicht Artefakte
- 29. Lokal installierte SBT, SCALA, Intellij. Möchten Sie lokal installiert sbt, scala im Projekt
- 30. Scala-Quelle außerhalb des SBT-Projektordners
Ich habe SBT bei großen Projekten verwendet. Arbeite damit und es ist in Ordnung. Die Killerfunktion ist die Fähigkeit, Ihre Tests kontinuierlich auszuführen. Fast läuft schnelles Feedback für TDD. –
Danke für den Kommentar. –