简体   繁体   中英

Maven or SBT with Scala?

We're a small shop attempting to work mostly in Scala. Wondering about what some of the more experienced developers found to be a comfortable dev and build environment. Our product is centered around an HTTP server built in Scala/Lift and distributed as a War file. Our biggest concern today is SBT: we constantly run into bugs and a complete lack of responsiveness from SBT developers. Should we switch to Maven? (We already use Maven with the Java components of our product.) Is there an alternative to both?

I have used a lot both Maven and Sbt in Scala projects. And I think both could play well with Scala. Main advantage of sbt is that it works with scala environment out of the box (when in maven you need to write a lot of xml before it will properly compile scala and run scalatest). And it is much easier to extend sbt than maven if you need specific(non-standard) build tasks.

But maven is much more stable, of course, and have a more plugins. And with tools like zinc it could make your development with Scala nearly as convenient as with sbt.

But for myself I prefer sbt at this moment, mainly because I have tired of maven's verbosity not because it do something bad.

I've had generally positive experiences working in a small dev team with Scala and SBT. That said, I see that there are over 500 open issues on github ! It seems counterproductive for the Scala community for teams to revert back to maven. Instead I think the best solution is for more of us to contribute to the ongoing development of SBT.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM