Maven artifacts need to be more discoverable


Maven artifacts need to be more discoverable

The laundry list of repositories that are filling the POM in Maven projects has to go. The ideal of having a central store of all artifacts is clearly dead and we have to move on. My proposal is two fold. First, the repository to end all repositories that doesn’t actually store the files but simply redirects to a known good location for the group id / artifact id / version combination. The second is that we create an ad hoc standard for artifact discovery based on the group id. For example, if the group id is com.sampullara.cli-parser then you should be able to find a repository that stores all artifacts at http://cli-parser.sampullara.com/repository/. Perhaps we could even put some sort of discovery file at the root to find them. This would allow anyone to distribute Maven artifacts to developers without having to publish to any central location. It would also drastically reduce the amount of repository cruft that is creeping into so many of the POM files I have seen recently. Further, it would make it really easy for github, googlecode, apache, etc to help their developers automatically publish with just the right naming conventions in place.

Come to think of it, maybe the whole thing is a little suspect. Maybe we should have been using URLs the entire time. How much value are we getting out of the layer of indirection? This is intended to be a discussion…