Sunday, December 26, 2010

Maven 3.0 does not support *Maven* 1.0 (legacy) repository

Today I was frustrated by this :

Maven 3.x no longer supports repositories using <layout>legacy</layout>. Users that need to access repositories created with Maven 1.x are advised to use a repository manager that is capable of providing a Maven 2.x compatible view of the legacy repository.

WHAT???

Sonatype could simply change their suggestion to "Users that need to access repositories created with Maven 1.x are advised to use Apache Ivy."

I understand the need to force users to use the new technology, but not by disabling access to older technology without providing a practical alternative. At least wait for your competitors to stop supporting your legacy product before you yourself do it.

java.net Maven 1 repository contains artifacts that I need at times, now I have to hunt the artifacts or do workarounds that was simply solved using repository layout=legacy. Argh!

8 comments:

  1. If you are using JEE5 APIs only, you can use equivalent Geronimo artifacts (http://repo2.maven.org/maven2/org/apache/geronimo/specs/)

    ReplyDelete
  2. I don't think it's unreasonable to deprecate the Maven 1 repo layout after two major releases. Couldn't you just upload the artefacts you want to a local Nexus/Artefactory repo? It's not much work and you only have to do it once.

    ReplyDelete
  3. @Anonymous : thanks.. that's one way of hunting things :)

    @Ricardo : I **could**. It's really not about whether something is possible or impossible. Deprecating is OK, blocking access is not.

    Imagine if your latest browser (Firefox, Chrome, Safari, whatever) refuses to open old, broken, HTML pages then tells you "if you want to open pre-HTML4 pages that are not W3C valid, please install a proxy server that converts HTML pages on the fly to valid HTML4 pages".

    Maven is a tool, it might have recommendations but *I* am the master, not the tool. If I want to do something even it isn't recommended, I want to tell Maven what I want instead of Maven telling me what I should do.

    Apache Ivy wins in this regard, now if Ivy can do it why Maven can't? Ivy even supports even more resolvers than Maven does, they seem to have no problem supporting legacy Maven repos.

    ReplyDelete
  4. There is a workaround: use maven proxy like nexus or artifactory.

    ReplyDelete
  5. Apache Ivy can because they to help users keep using what they know instead of forcing users to change their tools. We tried Maven once and it was a waste of time everything has to be the way Maven wants it to be otherwise it does not work. Apache Ant/Ivy it is more flexible.

    ReplyDelete
  6. Apache Ivy RS Goldcan easily because they to assist consumers keep in doing what they understand rather than making customers to change his or her tools. We tried Expert as soon as and yes it was a total waste all things have to be just how Expert would like so that it is normally this doesn't perform.WOW Gold Apache Ant/Ivy it's much more flexible.

    ReplyDelete
  7. Your current minute card is definitely beautiful -- along with what a attractive gift. Just about any lady would be happy to receive this specific.
    Appreciate your an individual ideas. Buy RS Money
    cheap GW2 Gold

    ReplyDelete
  8. Do you believe that Dec. 21th 2012 is the end of the world? Wow, it's very horrific. What do you want to spent those days? Have you made the full preparation for the escaping. As long as to me, I do nothing but looking for cheap diablo 3 gold. I wonder if any store will cut the price or even sent free gold to customers before the doomsday. So if you are a diablo 3 fan too, hurry up to buy diablo 3 gold.

    ReplyDelete