<?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: Maven and Ant guys: you&#8217;ll never agree. On anything. Period. Deal with it!</title>
	<atom:link href="http://www.insaneprogramming.be/?feed=rss2&#038;p=90" rel="self" type="application/rss+xml" />
	<link>http://www.insaneprogramming.be/?p=90</link>
	<description>Java ramblings and finds on the net</description>
	<lastBuildDate>Wed, 21 Jul 2010 09:15:48 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Pål Oliver</title>
		<link>http://www.insaneprogramming.be/?p=90&#038;cpage=1#comment-33</link>
		<dc:creator>Pål Oliver</dc:creator>
		<pubDate>Mon, 15 Feb 2010 20:13:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.insaneprogramming.be/?p=90#comment-33</guid>
		<description>Nice rebuttal!

Isn&#039;t it funny how many ways a standardized structured file like a WAR absolutely &quot;needs&quot; to be built in so many &quot;special&quot; ways?

Seriously, if there is no way you can get your WAR built with Maven, then there is something wrong with your building _process_ - not your building tool!

Although there are flaws in Maven, the &quot;convention over configuration&quot;-paradigm is something more people could benefit from.</description>
		<content:encoded><![CDATA[<p>Nice rebuttal!</p>
<p>Isn&#8217;t it funny how many ways a standardized structured file like a WAR absolutely &#8220;needs&#8221; to be built in so many &#8220;special&#8221; ways?</p>
<p>Seriously, if there is no way you can get your WAR built with Maven, then there is something wrong with your building _process_ &#8211; not your building tool!</p>
<p>Although there are flaws in Maven, the &#8220;convention over configuration&#8221;-paradigm is something more people could benefit from.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexis</title>
		<link>http://www.insaneprogramming.be/?p=90&#038;cpage=1#comment-28</link>
		<dc:creator>Alexis</dc:creator>
		<pubDate>Wed, 06 Jan 2010 14:19:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.insaneprogramming.be/?p=90#comment-28</guid>
		<description>&quot;but how about proposing some solutions to problems some Maven users face&quot;

some people do propose a solution, and a neat one: http://buildr.apache.org</description>
		<content:encoded><![CDATA[<p>&#8220;but how about proposing some solutions to problems some Maven users face&#8221;</p>
<p>some people do propose a solution, and a neat one: <a href="http://buildr.apache.org" rel="nofollow">http://buildr.apache.org</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 7zark7</title>
		<link>http://www.insaneprogramming.be/?p=90&#038;cpage=1#comment-27</link>
		<dc:creator>7zark7</dc:creator>
		<pubDate>Tue, 05 Jan 2010 13:08:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.insaneprogramming.be/?p=90#comment-27</guid>
		<description>Seeing how many companies just end up rebuilding Maven-like functionality with Ant and other home-brew technologies, Maven is pretty decent.  

I&#039;m sure Ivy, etc are nice too, but not as much momentum behind them, and Maven is &quot;good-enough&quot; not to care.</description>
		<content:encoded><![CDATA[<p>Seeing how many companies just end up rebuilding Maven-like functionality with Ant and other home-brew technologies, Maven is pretty decent.  </p>
<p>I&#8217;m sure Ivy, etc are nice too, but not as much momentum behind them, and Maven is &#8220;good-enough&#8221; not to care.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marco Ehrentreich</title>
		<link>http://www.insaneprogramming.be/?p=90&#038;cpage=1#comment-26</link>
		<dc:creator>Marco Ehrentreich</dc:creator>
		<pubDate>Mon, 04 Jan 2010 21:35:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.insaneprogramming.be/?p=90#comment-26</guid>
		<description>Gradle sounds really great! But there&#039;s still one more thing which currently makes Maven the preferred tool for me: its support from other tools and IDEs!

Maven can not only be used as a simple build tool but instead continuous integration servers, code analysis tools and many more usually support Maven based projects out of the box. If you take care to keep your project setup platform independent and that the other tools have access to the same repository managers etc. it simply works. You don&#039;t have to worry because of missing JARs or environment specific artifacts only available within your IDE.

The same is true for common IDEs. Unfortunately Maven integration in Eclipse is as poor as the IDE itself (that&#039;s just my opinion!), but NetBeans and IntelliJ IDEA come with excellent Maven support. And here again: it just works. It works everywhere, with different operating systems without having to modify the project setup. You should just take care for the things already mentioned above like company wide default POM settings or repository managers.

I don&#039;t know for sure but at least I&#039;ve never seen comparable support for other build solutions. The only wide spread alternative is Ant but then again Ant builds are usually unique (at least varying from IDE to IDE) which makes it hard to build a project once and run it everywhere (although I&#039;m aware that most IDEs allow to import/export projects for other IDEs).</description>
		<content:encoded><![CDATA[<p>Gradle sounds really great! But there&#8217;s still one more thing which currently makes Maven the preferred tool for me: its support from other tools and IDEs!</p>
<p>Maven can not only be used as a simple build tool but instead continuous integration servers, code analysis tools and many more usually support Maven based projects out of the box. If you take care to keep your project setup platform independent and that the other tools have access to the same repository managers etc. it simply works. You don&#8217;t have to worry because of missing JARs or environment specific artifacts only available within your IDE.</p>
<p>The same is true for common IDEs. Unfortunately Maven integration in Eclipse is as poor as the IDE itself (that&#8217;s just my opinion!), but NetBeans and IntelliJ IDEA come with excellent Maven support. And here again: it just works. It works everywhere, with different operating systems without having to modify the project setup. You should just take care for the things already mentioned above like company wide default POM settings or repository managers.</p>
<p>I don&#8217;t know for sure but at least I&#8217;ve never seen comparable support for other build solutions. The only wide spread alternative is Ant but then again Ant builds are usually unique (at least varying from IDE to IDE) which makes it hard to build a project once and run it everywhere (although I&#8217;m aware that most IDEs allow to import/export projects for other IDEs).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: GRO</title>
		<link>http://www.insaneprogramming.be/?p=90&#038;cpage=1#comment-25</link>
		<dc:creator>GRO</dc:creator>
		<pubDate>Mon, 04 Jan 2010 19:54:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.insaneprogramming.be/?p=90#comment-25</guid>
		<description>@Jason 
&quot;Part of our job is to grow and learn new things.&quot;

@better builds
&quot;Someday something better will come along&quot;

Well said...let&#039;s learn new things and try better solutions:
http://www.gradle.org/

Maven is a useful tool and I don&#039;t know why people compare it to Ant. 

What I don&#039;t like in Maven is its big POM files when the project starts to get complex (OSGI + lots of dependencies). After migrating to Gradle, my build scripts became a lot smaller and easy to read and maintain.

It&#039;s not mature as Maven and it&#039;s far from be perfect, but at least my team have a clean and readable alternative to POM and I always have groovy script to handle something more complex.

I know Maven 3 has support to groovy scripts and I&#039;ll give a try sometime soon, but I&#039;m done with Maven 2.</description>
		<content:encoded><![CDATA[<p>@Jason<br />
&#8220;Part of our job is to grow and learn new things.&#8221;</p>
<p>@better builds<br />
&#8220;Someday something better will come along&#8221;</p>
<p>Well said&#8230;let&#8217;s learn new things and try better solutions:<br />
<a href="http://www.gradle.org/" rel="nofollow">http://www.gradle.org/</a></p>
<p>Maven is a useful tool and I don&#8217;t know why people compare it to Ant. </p>
<p>What I don&#8217;t like in Maven is its big POM files when the project starts to get complex (OSGI + lots of dependencies). After migrating to Gradle, my build scripts became a lot smaller and easy to read and maintain.</p>
<p>It&#8217;s not mature as Maven and it&#8217;s far from be perfect, but at least my team have a clean and readable alternative to POM and I always have groovy script to handle something more complex.</p>
<p>I know Maven 3 has support to groovy scripts and I&#8217;ll give a try sometime soon, but I&#8217;m done with Maven 2.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alan</title>
		<link>http://www.insaneprogramming.be/?p=90&#038;cpage=1#comment-24</link>
		<dc:creator>Alan</dc:creator>
		<pubDate>Mon, 04 Jan 2010 19:51:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.insaneprogramming.be/?p=90#comment-24</guid>
		<description>Like you, I&#039;ve used both Ant and Maven. For my day job, we can afford a build master(s) along with 40 developers, etc. Ant makes sense when you can afford people to devote themselves full time to the build-deployment-integration cycle.

For smaller projects, I&#039;d recommend Maven. This is not because I don&#039;t think Maven can scale up to big projects. It&#039;s simply a question of whether a smaller project can really afford a full-time build master. If I&#039;m the chief arch, and I have a choice between spending 40 man-hours/week on a build master or a Java developer, what really makes better economic sense?</description>
		<content:encoded><![CDATA[<p>Like you, I&#8217;ve used both Ant and Maven. For my day job, we can afford a build master(s) along with 40 developers, etc. Ant makes sense when you can afford people to devote themselves full time to the build-deployment-integration cycle.</p>
<p>For smaller projects, I&#8217;d recommend Maven. This is not because I don&#8217;t think Maven can scale up to big projects. It&#8217;s simply a question of whether a smaller project can really afford a full-time build master. If I&#8217;m the chief arch, and I have a choice between spending 40 man-hours/week on a build master or a Java developer, what really makes better economic sense?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: better builds</title>
		<link>http://www.insaneprogramming.be/?p=90&#038;cpage=1#comment-23</link>
		<dc:creator>better builds</dc:creator>
		<pubDate>Sun, 03 Jan 2010 20:05:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.insaneprogramming.be/?p=90#comment-23</guid>
		<description>To use Maven is to hate Maven. However, Maven a necessary evil of java development. Someday something better will come along but for right now, Maven is it. It&#039;s perfectly fine for people to rant about it since it sucks big fat hairy monkey balls, and deserves every bit of the criticism - that&#039;s how things improve.</description>
		<content:encoded><![CDATA[<p>To use Maven is to hate Maven. However, Maven a necessary evil of java development. Someday something better will come along but for right now, Maven is it. It&#8217;s perfectly fine for people to rant about it since it sucks big fat hairy monkey balls, and deserves every bit of the criticism &#8211; that&#8217;s how things improve.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason van Zyl</title>
		<link>http://www.insaneprogramming.be/?p=90&#038;cpage=1#comment-22</link>
		<dc:creator>Jason van Zyl</dc:creator>
		<pubDate>Sun, 03 Jan 2010 20:04:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.insaneprogramming.be/?p=90#comment-22</guid>
		<description>Yes, but consultancies when in place get paid to write anything. If they can convince the client that its development infrastructure is a unique snowflake then they get paid to develop the infrastructure as well. From development, testing, QA, and provisioning. Large services-dominant companies have know this for years. How do think these companies generate revenue and grow? 

They not only need new clients, but they need to leave their consultants in existing clients or it&#039;s a cycle of zero or little growth. All of these companies from the largest to the smallest sing that open source is beautiful and efficient, but they often contribute the point solutions into the OSS environment. Anyone who has ever done real software development knows that point solutions are not what an organization needs, but instead they need holistic solutions that can be reused across the organization. 

Services-based companies harbor these holistic solutions internally because it makes them far more efficient as a companies. They talk about them in public, but are generally not codified in any meaningful way publicly because it would enable their competitors. It&#039;s a dirty little secret in the industry that development infrastructure can generate a huge amount of revenue, and it&#039;s one of the aspects that remain when projects are complete. When the development infrastructure is unique, you are at the mercy of who created them. 

The point solutions may be good, but when assembled in variation yields a large number of permutations which is simply to hard to manage at a macro level. This is why Maven, for it&#039;s flaws, bugs, lack of documentation or whatever else you want to call out, has spread like wild fire. It&#039;s also not like the Maven developers are sitting on their laurels. Maven is improving on a daily basis. It&#039;s not like it&#039;s a static entity that you can just point to and say &quot;that&#039;s wrong.&quot; We are adjusting to user requests but we get 600k unique visitors/month to Maven central so we have to deal with the users who have adopted Maven and make sure it continues to work as expected while we in parallel make improvements. 

This is the subject of a larger blog entry, but I have managed to convince some of the largest companies in the world to sign NDAs amongst one another to show them that their infrastructures are not unique snowflakes and that they should be extremely leery of people internally in their own organizations who posit this view, and the services companies who also take this position. It just leads to many silos within an organization and then once a product hits production it&#039;s then argued that the entire chain of infrastructure and practices which accompany it must or the project will be &quot;at risk&quot;, or &quot;may potentially fail.&quot; and then it&#039;s extremeley hard to coalesce a set of tools and practices. Sure Maven has shortcomings but we are starting to get many organizations contribute to the improvement of Mavne in conjunction with holistic solutions which we hope become useful to many.</description>
		<content:encoded><![CDATA[<p>Yes, but consultancies when in place get paid to write anything. If they can convince the client that its development infrastructure is a unique snowflake then they get paid to develop the infrastructure as well. From development, testing, QA, and provisioning. Large services-dominant companies have know this for years. How do think these companies generate revenue and grow? </p>
<p>They not only need new clients, but they need to leave their consultants in existing clients or it&#8217;s a cycle of zero or little growth. All of these companies from the largest to the smallest sing that open source is beautiful and efficient, but they often contribute the point solutions into the OSS environment. Anyone who has ever done real software development knows that point solutions are not what an organization needs, but instead they need holistic solutions that can be reused across the organization. </p>
<p>Services-based companies harbor these holistic solutions internally because it makes them far more efficient as a companies. They talk about them in public, but are generally not codified in any meaningful way publicly because it would enable their competitors. It&#8217;s a dirty little secret in the industry that development infrastructure can generate a huge amount of revenue, and it&#8217;s one of the aspects that remain when projects are complete. When the development infrastructure is unique, you are at the mercy of who created them. </p>
<p>The point solutions may be good, but when assembled in variation yields a large number of permutations which is simply to hard to manage at a macro level. This is why Maven, for it&#8217;s flaws, bugs, lack of documentation or whatever else you want to call out, has spread like wild fire. It&#8217;s also not like the Maven developers are sitting on their laurels. Maven is improving on a daily basis. It&#8217;s not like it&#8217;s a static entity that you can just point to and say &#8220;that&#8217;s wrong.&#8221; We are adjusting to user requests but we get 600k unique visitors/month to Maven central so we have to deal with the users who have adopted Maven and make sure it continues to work as expected while we in parallel make improvements. </p>
<p>This is the subject of a larger blog entry, but I have managed to convince some of the largest companies in the world to sign NDAs amongst one another to show them that their infrastructures are not unique snowflakes and that they should be extremely leery of people internally in their own organizations who posit this view, and the services companies who also take this position. It just leads to many silos within an organization and then once a product hits production it&#8217;s then argued that the entire chain of infrastructure and practices which accompany it must or the project will be &#8220;at risk&#8221;, or &#8220;may potentially fail.&#8221; and then it&#8217;s extremeley hard to coalesce a set of tools and practices. Sure Maven has shortcomings but we are starting to get many organizations contribute to the improvement of Mavne in conjunction with holistic solutions which we hope become useful to many.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason</title>
		<link>http://www.insaneprogramming.be/?p=90&#038;cpage=1#comment-21</link>
		<dc:creator>Jason</dc:creator>
		<pubDate>Sun, 03 Jan 2010 13:47:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.insaneprogramming.be/?p=90#comment-21</guid>
		<description>Thank you very much for a very level headed discussion about Maven.

I switched to Maven about 2 years ago and joined a company 6 months ago where they are scared to death of Maven (or change for that matter).  Many people are afraid when they see how easily code inspection tools can be integrated into Maven or how quickly it can generate an entire website or PDF documentation for you.  Unfortunately being a developer who holds all the secrets of the build, the code, the documentation, etc is really hard to give up. 

If all you need to do is make a build, perhaps Ant is the right tool for you.  If you need your build script to make multiple WARs then perhaps you need a -Profile added.  

Maven can be hell to configure sometimes, but usually the Matt Raible&#039;s of the world have that figured out for you already. 

Bottom line is we are all trained computer people.  Part of our job is to grow and learn new things.  

Great Article!

-Jason</description>
		<content:encoded><![CDATA[<p>Thank you very much for a very level headed discussion about Maven.</p>
<p>I switched to Maven about 2 years ago and joined a company 6 months ago where they are scared to death of Maven (or change for that matter).  Many people are afraid when they see how easily code inspection tools can be integrated into Maven or how quickly it can generate an entire website or PDF documentation for you.  Unfortunately being a developer who holds all the secrets of the build, the code, the documentation, etc is really hard to give up. </p>
<p>If all you need to do is make a build, perhaps Ant is the right tool for you.  If you need your build script to make multiple WARs then perhaps you need a -Profile added.  </p>
<p>Maven can be hell to configure sometimes, but usually the Matt Raible&#8217;s of the world have that figured out for you already. </p>
<p>Bottom line is we are all trained computer people.  Part of our job is to grow and learn new things.  </p>
<p>Great Article!</p>
<p>-Jason</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Darcy</title>
		<link>http://www.insaneprogramming.be/?p=90&#038;cpage=1#comment-20</link>
		<dc:creator>Jeff Darcy</dc:creator>
		<pubDate>Sun, 03 Jan 2010 12:54:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.insaneprogramming.be/?p=90#comment-20</guid>
		<description>I&#039;m not going to pick on Maven as such, but I will say something general and if it applies to Maven then Maven really does suck.  Language-specific build tools and package managers are a bad idea - one among many for which we can probably blame Perl.  Build tools that try to do package management, subverting the system package manager, are broken.  Build tools that pull in stuff from the net, without prompting or proper version checking, are broken.  Repeatability of builds is an important software-engineering feature, and all of these &quot;capabilities&quot; make builds distinctly non-repeatable across machines or even on the same machine across time.  Anybody who&#039;s actually worth their salt as a software engineer will prefer to use the system package manager to manage dependencies, and a language-agnostic build tool to do builds.</description>
		<content:encoded><![CDATA[<p>I&#8217;m not going to pick on Maven as such, but I will say something general and if it applies to Maven then Maven really does suck.  Language-specific build tools and package managers are a bad idea &#8211; one among many for which we can probably blame Perl.  Build tools that try to do package management, subverting the system package manager, are broken.  Build tools that pull in stuff from the net, without prompting or proper version checking, are broken.  Repeatability of builds is an important software-engineering feature, and all of these &#8220;capabilities&#8221; make builds distinctly non-repeatable across machines or even on the same machine across time.  Anybody who&#8217;s actually worth their salt as a software engineer will prefer to use the system package manager to manage dependencies, and a language-agnostic build tool to do builds.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
