Hacker News new | past | comments | ask | show | jobs | submit login

This is partially due to Maven as well. Its a pretty standard convention that most IDE's can abstract around.



Maven is evil. It needs to die.

Every time I've used it, it downloads hundreds of megabytes of who-knows-what from who-knows-where on the Internet. It's not like apt-get, which uses a central server where there's some level of QA to make sure all the versions of all the pieces work together.

Maven just shoves 100 different components from 100 different servers on your disk. If any one of those servers happens to be down, or moved, or the organization running it dies off, there goes your build.

I'll stick with Ant and manual dependency downloading, thanks. They're a pain in the arse, but at least you can keep the tarballs of the stuff you download around, and can have different library versions for different applications.


Maven looks locally first, then falls back to the internet. You can insert your own package repository in between so you control the point of failure. Configuring Artifactory to work as a transparent proxy to take care of all of this for you is a walk in the park, and is only one of its possible use cases.

Maven lets you keep different library versions around for different applications. This is actually a fundamental thing I've noticed everywhere I've personally seen it used: specify the versions. However you use Maven is evil. Your usage pattern needs to be improved.


If local dependency resolution is your thing you can tell maven to use a local repository. it has the concept of multiple places to look for things, I normally set it to use my local cache first then go out to servers as it needs to.

Its a little bit to wrap your head around to get started with maven. The first time I had to write a pom.xml file I almost burnt down my house. However SBT came along and fixed that problem. The only problem I have with maven now is that there is no way to tell it to make a single binary without a plugin.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: