4 ms·
I never liked the way Maven built projects - it just seemed like overkill for simple things. I tended to use hand-written Ant builds backed by Ivy for dependenc
by mbreese 10y ago
I never liked the way Maven built projects - it just seemed like overkill for simple things. I tended to use hand-written Ant builds backed by Ivy for dependencies. Then again, I also build odd outputs, like self-executing jars.
- Randgalt 10y agoFWIW - Maven's shade plugin makes self-executing jars very easy.
- coredog64 10y agoExcept when you're using multiple Spring libraries with XML config and are running on servers without access to the general internet. I tried all the listed tricks to get the schemas into the shaded jar and none of them worked. So now I have to put big fat warnings in my README.md files that "yes, there's a bunch of errors on startup, and yes, there's a 60 second delay, but you can ignore it".
- snuxoll 10y agoSpring Boot? I guess it doesn't produce a shaded jar, but I find the custom classloader w/embedded dependency jars to have fewer issues than shaded jars (of course, one disadvantage is you can't run proguard, if that's something you do).
- djsumdog 10y agoThe only thing that will survive from the Maven era is the directory structure. It's the default structure in SBT and many other built tools. It's a little verbose, but it does make sense and I've learned to embrace it. Maven is terrible. Give SBT or Gradle and try and you'll see just how terrible Maven is. SBT still has its issues (OMG why is everything a macro!), but I still prefer it to trying to build anything in Maven.
- neeleshs 10y agoI have exactly the opposite view. Until very recently modules in sbt required a scala Build file. There is not one single file where you have a view of everything - plugins, build properties, sbt file, and sbt scala file. I prefer maven over SBT any time of the day. Have not tried Gradle, so cant comment
- PaulHoule 10y agoFor simple things, I love the way maven builds projects. If I want to make a "scripty" Java program I can generate a project file from the archetype which sets me up with dependencies I need and an easy way to write tests.