Maven provides the means to declare the external dependencies. Say for example, you depend upon springframework-2.0.3 and tapestry-4.0.3 to compile and run a particular jar, and this jar is used in a war file, one would only have to define this dependency once, and it would be inherited by all that use that jar file. This helps you with the DRY (Don't repeat yourself) principal in java development.

I found that by using maven, my build files are much easier to maintain and I am more productive.

Other important points:
Maven represents a structure to adhere here. While you can put things anywhere you want them to, by adhering to the default directory structures, you can have maven automatically work.

New developers do not have to learn your custom building scripts. If developers know one maven project, they know their way around others.

Some open source projects that I love and respect use maven. Tapestry is one of many that are using maven.

Having been the build architect (in the past) of a code base with 30 active full-time developers, I know that you can really hang yourself with ant. I can't tell you how many times some developer would be compiling against some old release of code, and not the code that was being compiled and released at the time. Maven really closes the gaps in that regard.

Phillip



David E Jones wrote:


As a warning: I'm not a huge fan of Maven for a project like OFBiz.

That said, what do you see as the benefits to OFBiz from using Maven?

-David


On Nov 13, 2006, at 9:49 AM, Phillip Rhodes wrote:

I'm a newbie for ofbiz, but I am a ant expert, and I am migrating my applications to use maven2. Maven2 is an excellent tool in regard to managing/declaring dependencies on both external and internal dependency. Reports, building, etc..

If we aren't using maven, can I volunteer to lead a team to migrate our build system to maven?

Phillip

Anders Hessellund wrote:

Hi,

how are dependencies among ofbiz components expressed? Is there a single
place to declare dependencies on other components, or can the
dependency-related code/xml be scattered around in the internals of a
component?

-- Anders













Reply via email to