<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: 5 Good Things Maven Brought To The Table</title>
	<atom:link href="http://www.techper.net/2008/01/31/5-good-things-maven-brought-to-the-table/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.techper.net/2008/01/31/5-good-things-maven-brought-to-the-table/</link>
	<description>About Technology in My Life</description>
	<lastBuildDate>Thu, 19 Aug 2010 22:11:17 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: bundleOfJoy</title>
		<link>http://www.techper.net/2008/01/31/5-good-things-maven-brought-to-the-table/comment-page-1/#comment-27</link>
		<dc:creator>bundleOfJoy</dc:creator>
		<pubDate>Fri, 01 Feb 2008 23:32:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.techper.net/2008/01/31/5-good-things-maven-brought-to-the-table/#comment-27</guid>
		<description>Forget pom.xmls casually packaged with jar files ... OSGi bundles sort out java dependency, with the import/export manifest where it should be, tucked inside the jar and exploited at runtime as well as build time</description>
		<content:encoded><![CDATA[<p>Forget pom.xmls casually packaged with jar files &#8230; OSGi bundles sort out java dependency, with the import/export manifest where it should be, tucked inside the jar and exploited at runtime as well as build time</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Funk</title>
		<link>http://www.techper.net/2008/01/31/5-good-things-maven-brought-to-the-table/comment-page-1/#comment-26</link>
		<dc:creator>Mike Funk</dc:creator>
		<pubDate>Fri, 01 Feb 2008 16:43:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.techper.net/2008/01/31/5-good-things-maven-brought-to-the-table/#comment-26</guid>
		<description>Congrats! You&#039;re one of the very few who grok the power of Maven.</description>
		<content:encoded><![CDATA[<p>Congrats! You&#8217;re one of the very few who grok the power of Maven.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: polesen</title>
		<link>http://www.techper.net/2008/01/31/5-good-things-maven-brought-to-the-table/comment-page-1/#comment-23</link>
		<dc:creator>polesen</dc:creator>
		<pubDate>Fri, 01 Feb 2008 13:45:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.techper.net/2008/01/31/5-good-things-maven-brought-to-the-table/#comment-23</guid>
		<description>@Robert: Yes and no :-)

There are several issues at hand.

One is the automatic resolution. Say one transitive dependency depends upon foo-1.xyz and another depend upon foo-1.zyx, where &quot;xyz&quot; and &quot;zyx&quot; cannot be automatically sorted out. There needs to be a common versioning scheme. For instance, do libs use major.minor.bugfix or only major.minor, some write stuff like &quot;-ga&quot;, &quot;-final&quot;, &quot;-alpha&quot;, &quot;-beta&quot;, or &quot;1.3b2&quot;.

Then there is the problem of a dependency being found in more than one place in the repository. Some are released under two different groupIds, which can make two transitive dependencies include the same jar in same version with different names.

Another one is with spring. You can depend on &quot;spring-full&quot; (includes all) or spring-foo, spring-bar, ... Now, one transitive dependency can depend upon spring-foo-2.0.jar and another transitive dependency can depend upon spring-bar-2.5.jar. Not a good match, when deployed in &quot;lib&quot; in the same war.

The two cases above are special cases of &lt;a href=&quot;http://ancientprogramming.blogspot.com/2007/08/badly-packaged-project-will-break.html&quot; rel=&quot;nofollow&quot;&gt;A badly packaged project will break builds&lt;/a&gt;.

There is also the problem of &lt;a href=&quot;http://techpolesen.blogspot.com/2007/11/maven-and-excluding-transitive.html&quot; rel=&quot;nofollow&quot;&gt;excluding transitive dependencies&lt;/a&gt;, where you need to know and specify ALL you do not want.

Some of these are not mavens fault, but more the fact, that automatic, transitive dependency management is very hard to get right. I, personally, think we need more rules enforced in the repository, to be able to get a good implementation on top of it. It needs to be streamlined even more than it is today.</description>
		<content:encoded><![CDATA[<p>@Robert: Yes and no <img src='http://www.techper.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>There are several issues at hand.</p>
<p>One is the automatic resolution. Say one transitive dependency depends upon foo-1.xyz and another depend upon foo-1.zyx, where &#8220;xyz&#8221; and &#8220;zyx&#8221; cannot be automatically sorted out. There needs to be a common versioning scheme. For instance, do libs use major.minor.bugfix or only major.minor, some write stuff like &#8220;-ga&#8221;, &#8220;-final&#8221;, &#8220;-alpha&#8221;, &#8220;-beta&#8221;, or &#8220;1.3b2&#8243;.</p>
<p>Then there is the problem of a dependency being found in more than one place in the repository. Some are released under two different groupIds, which can make two transitive dependencies include the same jar in same version with different names.</p>
<p>Another one is with spring. You can depend on &#8220;spring-full&#8221; (includes all) or spring-foo, spring-bar, &#8230; Now, one transitive dependency can depend upon spring-foo-2.0.jar and another transitive dependency can depend upon spring-bar-2.5.jar. Not a good match, when deployed in &#8220;lib&#8221; in the same war.</p>
<p>The two cases above are special cases of <a href="http://ancientprogramming.blogspot.com/2007/08/badly-packaged-project-will-break.html" rel="nofollow">A badly packaged project will break builds</a>.</p>
<p>There is also the problem of <a href="http://techpolesen.blogspot.com/2007/11/maven-and-excluding-transitive.html" rel="nofollow">excluding transitive dependencies</a>, where you need to know and specify ALL you do not want.</p>
<p>Some of these are not mavens fault, but more the fact, that automatic, transitive dependency management is very hard to get right. I, personally, think we need more rules enforced in the repository, to be able to get a good implementation on top of it. It needs to be streamlined even more than it is today.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert</title>
		<link>http://www.techper.net/2008/01/31/5-good-things-maven-brought-to-the-table/comment-page-1/#comment-22</link>
		<dc:creator>Robert</dc:creator>
		<pubDate>Fri, 01 Feb 2008 13:28:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.techper.net/2008/01/31/5-good-things-maven-brought-to-the-table/#comment-22</guid>
		<description>I have not quite grokked the dependency problem. If you specify the version you want in the pom file does Maven much it up somehow?</description>
		<content:encoded><![CDATA[<p>I have not quite grokked the dependency problem. If you specify the version you want in the pom file does Maven much it up somehow?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
