<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Ant vs Maven Argument&#8230;</title>
	<atom:link href="http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/feed/" rel="self" type="application/rss+xml" />
	<link>http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/</link>
	<description>random crap from the mouth of erik weibust</description>
	<pubDate>Fri, 21 Nov 2008 04:40:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
		<item>
		<title>By: Scott Williams</title>
		<link>http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3433</link>
		<dc:creator>Scott Williams</dc:creator>
		<pubDate>Mon, 14 Jan 2008 15:35:49 +0000</pubDate>
		<guid isPermaLink="false">http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3433</guid>
		<description>Agreed, transitive dependencies can be painful at times, however for me they are more HELPFUL than PAINFUL.  Case in point, if an app uses Spring, Hibernate and an MVC Framework, w/out trans-deps one would have to manually provide ALL dependent jars, which my guess would be over 20.  With trans-deps all that is necessary are the main jar files, which is around 3-4 with the above mentioned app.  And yes, commons-logging is a pain point in the Maven trans deps world, you guys may have already used this but one technique to get around it is to use the  tag.  For a good example of this technique take a look at Matt Raible's AppFuse2 pom.xml.  Like anything else, once the "mountain" is conquered all other "mountains" look like mole hills.</description>
		<content:encoded><![CDATA[<p>Agreed, transitive dependencies can be painful at times, however for me they are more HELPFUL than PAINFUL.  Case in point, if an app uses Spring, Hibernate and an MVC Framework, w/out trans-deps one would have to manually provide ALL dependent jars, which my guess would be over 20.  With trans-deps all that is necessary are the main jar files, which is around 3-4 with the above mentioned app.  And yes, commons-logging is a pain point in the Maven trans deps world, you guys may have already used this but one technique to get around it is to use the  tag.  For a good example of this technique take a look at Matt Raible&#8217;s AppFuse2 pom.xml.  Like anything else, once the &#8220;mountain&#8221; is conquered all other &#8220;mountains&#8221; look like mole hills.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Erik Weibust</title>
		<link>http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3432</link>
		<dc:creator>Erik Weibust</dc:creator>
		<pubDate>Mon, 14 Jan 2008 15:11:47 +0000</pubDate>
		<guid isPermaLink="false">http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3432</guid>
		<description>A bit of disclosure for people...  The seven months I was using Maven was while I worked for Tim.  So I know exactly what he is talking about.  People try to use Maven's transitive dependency support as a positive, but as Tim has said....  it's more of a problem then a positive.</description>
		<content:encoded><![CDATA[<p>A bit of disclosure for people&#8230;  The seven months I was using Maven was while I worked for Tim.  So I know exactly what he is talking about.  People try to use Maven&#8217;s transitive dependency support as a positive, but as Tim has said&#8230;.  it&#8217;s more of a problem then a positive.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim</title>
		<link>http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3431</link>
		<dc:creator>Tim</dc:creator>
		<pubDate>Mon, 14 Jan 2008 14:21:27 +0000</pubDate>
		<guid isPermaLink="false">http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3431</guid>
		<description>We mirrored a Maven repository to cover the artifacts we needed and created our own base POM for internal applications. The major annoyance of Maven isn't really Maven faults. The problem is in dependency management, and in particular, the transitive dependencies. We are always running into scenarios where we end up with multiple versions of the same library because we'll grab a specific version, then grab a library that has that same library as a dependency. Invariably, it will specify an older version, so I end up with multiple copies.
Another major annoyance is lack of naming consistency. Again, this comes in with the transitive dependencies, where one library might depend on jakarta-commons-logging and another on commons-logging and a third on apache-commons-logging. And, of course, they will be three different versions. Maven needs to come up with atomic URI-style references to libraries so it can detect overlaps.</description>
		<content:encoded><![CDATA[<p>We mirrored a Maven repository to cover the artifacts we needed and created our own base POM for internal applications. The major annoyance of Maven isn&#8217;t really Maven faults. The problem is in dependency management, and in particular, the transitive dependencies. We are always running into scenarios where we end up with multiple versions of the same library because we&#8217;ll grab a specific version, then grab a library that has that same library as a dependency. Invariably, it will specify an older version, so I end up with multiple copies.<br />
Another major annoyance is lack of naming consistency. Again, this comes in with the transitive dependencies, where one library might depend on jakarta-commons-logging and another on commons-logging and a third on apache-commons-logging. And, of course, they will be three different versions. Maven needs to come up with atomic URI-style references to libraries so it can detect overlaps.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Williams</title>
		<link>http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3429</link>
		<dc:creator>Scott Williams</dc:creator>
		<pubDate>Sat, 12 Jan 2008 15:27:43 +0000</pubDate>
		<guid isPermaLink="false">http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3429</guid>
		<description>Hate to hear that we lost one to Ant.  The trick to a successful Maven implementation is a company Maven repository fronted by a MRM (Maven Repository Manager) such as Artifactory, Archiva, and there are others.  There are other tricks but I think the company Maven repo and MRM are one of the easiest tecniques and gives the most "bang for buck" as far as easing the adoption of Maven.  Tim, I'm curious to know if you guys used such techniques.</description>
		<content:encoded><![CDATA[<p>Hate to hear that we lost one to Ant.  The trick to a successful Maven implementation is a company Maven repository fronted by a MRM (Maven Repository Manager) such as Artifactory, Archiva, and there are others.  There are other tricks but I think the company Maven repo and MRM are one of the easiest tecniques and gives the most &#8220;bang for buck&#8221; as far as easing the adoption of Maven.  Tim, I&#8217;m curious to know if you guys used such techniques.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Erik Weibust</title>
		<link>http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3428</link>
		<dc:creator>Erik Weibust</dc:creator>
		<pubDate>Fri, 11 Jan 2008 22:16:52 +0000</pubDate>
		<guid isPermaLink="false">http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3428</guid>
		<description>Tim,  good to hear ya'll are moving Ant.  Did BoA make that call?  :)</description>
		<content:encoded><![CDATA[<p>Tim,  good to hear ya&#8217;ll are moving Ant.  Did BoA make that call?  <img src='http://erik.weibust.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark</title>
		<link>http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3427</link>
		<dc:creator>Mark</dc:creator>
		<pubDate>Fri, 11 Jan 2008 21:24:04 +0000</pubDate>
		<guid isPermaLink="false">http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3427</guid>
		<description>PS activation.jar, jta.jar, mail.jar, I really hate you guys!  Get thee to a repository...</description>
		<content:encoded><![CDATA[<p>PS activation.jar, jta.jar, mail.jar, I really hate you guys!  Get thee to a repository&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark</title>
		<link>http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3426</link>
		<dc:creator>Mark</dc:creator>
		<pubDate>Fri, 11 Jan 2008 21:18:41 +0000</pubDate>
		<guid isPermaLink="false">http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3426</guid>
		<description>Crazy-flexible! Great phrase.

Alternatively with &lt;a href="http://maven.apache.org/ant-tasks.html" rel="nofollow"&gt;Maven's Ant tasks&lt;/a&gt; you can have the joy/misery of both!

Ahhh, transitive dependency management with Ant, scary stuff.</description>
		<content:encoded><![CDATA[<p>Crazy-flexible! Great phrase.</p>
<p>Alternatively with <a href="http://maven.apache.org/ant-tasks.html" rel="nofollow">Maven&#8217;s Ant tasks</a> you can have the joy/misery of both!</p>
<p>Ahhh, transitive dependency management with Ant, scary stuff.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim</title>
		<link>http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3425</link>
		<dc:creator>Tim</dc:creator>
		<pubDate>Fri, 11 Jan 2008 14:47:28 +0000</pubDate>
		<guid isPermaLink="false">http://erik.weibust.net/2008/01/10/ant-vs-maven-argument/#comment-3425</guid>
		<description>Don't worry, we still hate Maven too. Next project will revert back to Ant. We waste way too much time screwing with POMs and hidden dependencies. Maven is great for people with excessive time on their hands.</description>
		<content:encoded><![CDATA[<p>Don&#8217;t worry, we still hate Maven too. Next project will revert back to Ant. We waste way too much time screwing with POMs and hidden dependencies. Maven is great for people with excessive time on their hands.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
