FACTOID # 119: Iran, Cuba, Iraq and Syria all have something in common: their currencies are fixed to the US Dollar.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

Encyclopedia > Apache Maven
Apache Maven
Developer: Apache Software Foundation
Latest release: 2.0.4 / April 10, 2006
OS: Cross-platform
Use: Build Tool
License: Apache 2.0 licence
Website: maven.apache.org
For other uses of the word Maven see: Maven (disambiguation)

Maven is a software tool for Java programming language project management and automated software build. It is similar in functionality to the Apache Ant tool (and to a lesser extent, PHP's PEAR and Perl's CPAN), but has a simpler build configuration model, based on an XML format. Maven is hosted by the Apache Software Foundation, where it was formerly part of the Jakarta Project. Image File history File links Maven_logo. ... Software development is the translation of a user need or marketing goal into a software product. ... Apache Software Foundation Logo The Apache Software Foundation (ASF) is a non-profit corporation (classified as 501(c)(3) in the United States) to support Apache software projects, including the Apache HTTP Server. ... A software release refers to the creation and availability of a new version of a computer software product. ... April 10 is the 100th day of the year in the Gregorian calendar (101st in leap years). ... 2006 (MMVI) was a common year starting on Sunday of the Gregorian calendar. ... An operating system (OS) is a computer program that manages the hardware and software resources of a computer. ... A cross-platform (or platform independent) programming language, software application or hardware device works on more than one system platform (e. ... Build Automation is the act of scripting or automating the process of compiling computer source code into binary code. ... A software license is a legal agreement which may take the form of a proprietary or gratuitous license as well as a memorandum of contract between a producer and a user of computer software. ... The Apache License (Apache Software License previous to version 2. ... A website (or Web site) is a collection of web pages, typically common to a particular domain name or subdomain on the World Wide Web on the Internet. ... A maven (also mavin or mayvin) is an expert in a particular field, usually one who is self-appointed and who seeks to pass his knowledge on to others. ... Java is an object-oriented programming language developed by Sun Microsystems in the early 1990s. ... Apache Ant is a software tool for automating software build processes. ... The Extensible Markup Language (XML) is a W3C-recommended general-purpose markup language that supports a wide variety of applications. ... Apache Software Foundation Logo The Apache Software Foundation (ASF) is a non-profit corporation (classified as 501(c)(3) in the United States) to support Apache software projects, including the Apache HTTP Server. ... The Jakarta Project creates and maintains open source software for the Java platform. ...


Maven uses a construct known as a Project Object Model (POM) to describe the software project being built, its dependencies on other external modules and components, and the build order. It comes with pre-defined targets for performing certain well defined tasks such as compilation of code and its packaging. The Project Object Model (POM) is the central construct of the Apache Maven build management system. ...


A key feature of Maven is that it is network-ready. The core engine can dynamically download plugins from a repository, the same repository that provides access to many versions of different Open Source Java projects, from Apache and other organisations and developers. This repository and its reorganized successor, the Maven 2 repository, strives to be the de facto distribution mechanism for Java applications, but its adoption has been slow. Maven provides built in support not just for retrieving files from this repository, but to upload artifacts at the end of the build. A local cache of downloaded artifacts acts as the primary means of synchronizing the output of projects on a local system.


Key Criticisms of Maven

  1. Existing Maven Product Documentation is of extremely poor quality - It's poorly organized, contains many incorrect, or stale information, and often does not provide even the most basic, absolutey essential, information required for a user to actually be sucessfull at what is supposedly being descibed in the document. There seems to be just enough documentation to inform the maven community that some cool feature exists, but not nearly enough to actually be able to use that feature. Anybody who uses Maven, will spend significant amounts of time searching the web for all kinds of tiny, obscure, tidbits of even the most basic, required info. There are, however, many claims that a variety of new initiatives are going on to improve the maven documentation. So far, these initiatives have produced little, if any, fruit.
  2. Plugin documentation is worse than the maven product documentation - At the heart of maven is a execution environment for maven plugins. A series of plugins are available, by default, with maven, while scores of additional plugins are available by way of custom developed plugins. The documentation for the standard plugins, as well as, custom developed plugins is completely hit or miss. Mostly, plugin documentation is pathetic, bordering on completely useless. Occasionally, you will find a plugin where developers have provided enough documentation to actually do the most basic of tasks with the plugin. Only in the rarist of occasions will you find quality plugin documentation.
  3. Customization of a maven generated web site is difficult - One of the greatest strengths of maven is the centralization of project information in the generated project web site. This strength, however, quicky becomes its biggest weakness once you attempt to customize the look, feel, and content of the generated site. Some may find the plain old, vanilla, boring site will meet the needs and have no problem simply using the default generated site. Many, however, quickly find the default site lacking in some respect, highly resistent to simple modifications, and lacking any substantive documentation on the more difficult custimization features.

External links


  Results from FactBites:
 
Apache News Online: 19 October 2005 - Apache Maven 2.0 Released (1015 words)
Apache Maven is a build system that provides software project management and dependancy comprehension.
Maven 2.0 is a rewrite of the popular Maven application, designed to both address previous functional requirements and provide a stable platform for extending and enhancing its build management framework.
Apache Maven 2.0 is a rewrite of the popular Maven application (Apache Maven 1.x) to achieve a number of goals, and to provide a stable basis to take it into the future.
The Jakarta Site - Elsewhere (1832 words)
Apache Cocoon is a web development framework built around the concept of separation of concerns (that is: allowing people to do their job without having to step on each other toes) and component-oriented web RAD.
Maven is based on the concept of a project object model: builds, documentation creation, site publication, and distribution publication are all controlled from the project object model.
Apache Forrest is an XML standards-oriented documentation framework based upon Apache Cocoon, providing XSLT stylesheets and schemas, images and other resources.
  More results at FactBites »

 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your location
Your comments
Please enter the 5-letter protection code


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.