5 stars award

Maven 3.0.4

Maven`s primary goal is to allow a developer to comprehend the complete state of a development effort in the shortest period of time. In order to attain this goal there are several areas of concern that Maven attempts to deal with:


  • Making the build process easy

  • Providing a uniform build system

  • Providing quality project information

  • Providing guidelines for best practices development

  • Allowing transparent migration to new features

The Following Are The Key Features Of Maven In A Nutshell:


  • Simple project setup that follows best practices - get a new project or module started in seconds

  • Consistent usage across all projects means no ramp up time for new developers coming onto a project

  • Superior dependency management including automatic updating, dependency closures (also known as transitive dependencies)

  • Able to easily work with multiple projects at the same time

  • A large and growing repository of libraries and metadata to use out of the box, and arrangements in place with the largest Open Source projects for real-time availability of their latest releases

  • Extensible, with the ability to easily write plugins in Java or scripting languages

  • Instant access to new features with little or no extra configuration

  • Ant tasks for dependency management and deployment outside of Maven

  • Model based builds: Maven is able to build any number of projects into predefined output types such as a JAR, WAR, or distribution based on metadata about the project, without the need to do any scripting in most cases.

  • Coherent site of project information: Using the same metadata as for the build process, Maven is able to generate a web site or PDF including any documentation you care to add, and adds to that standard reports about the state of development of the project. Examples of this information can be seen at the bottom of the left-hand navigation of this site under the "Project Information" and "Project Reports" submenus.

  • Release management and distribution publication: Without much additional configuration, Maven will integrate with your source control system such as CVS and manage the release of a project based on a certain tag. It can also publish this to a distribution location for use by other projects. Maven is able to publish individual outputs such as a JAR, an archive including other dependencies and documentation, or as a source distribution.

  • Dependency management: Maven encourages the use of a central repository of JARs and other dependencies. Maven comes with a mechanism that your project`s clients can use to download any JARs required for building your project from a central JAR repository much like Perl`s CPAN. This allows users of Maven to reuse JARs across projects and encourages communication between projects to ensure that backward compatibility issues are dealt with. We are collaborating with the folks at Ibiblio who have graciously allowed the central repository to live on their servers.


User's rating:

  • Currently 3.00/5
  • 1
  • 2
  • 3
  • 4
  • 5
Enlarge the screenshot of Maven
[ Enlarge Image ]
Download 2.8MB Maven

Download Direct

(2.8MB, Extension: GZ)

Download alternate to Maven solution

Look at the free or trial alternatives and similar apps to Maven software by the tags. It's possible also to find substitutes for the most popular titles in the Website Building category.

| Software Project Management | Project Object Model | Pom | Maven | Comprehension Tool | Apache |

History updates (Complete changelogs since the listing on this site)

3.0.4 [01-25-12]

Bug
  • [MNG-4792] - Preemptive authentication doesn't work
  • [MNG-5064] - mvn -nsu (--no-snapshot-updates) should not download snapshots (and break local builds)
  • [MNG-5096] - exclusion on dependency with typetest-jar/type doesn't work in maven 3
  • [MNG-5113] - NullPointerException on javadoc site generation
  • [MNG-5131] - Wrong encoding for encrypted passwords
  • [MNG-5135] - Regression: in some cases aggregator mojo is unable to resolve dependencies with custom packaging
  • [MNG-5137] - Reactor resolution does not work for forked multi module builds
  • [MNG-5149] - DefaultArtifactRepositoryFactory.createArtifactRepository overload w/ layoutId passes wrong (repo) id
  • [MNG-5153] - ModelMerger omits relativ path
  • [MNG-5155] - 'inherited' flag of report sets ignored.
  • [MNG-5157] - NPE stemming from DefaultModelBuilder.containsCoordinates
  • [MNG-5163] - MavenProject.getPluginRepositories misimplemented
  • [MNG-5164] - Odd name of central in superpom
  • [MNG-5165] - Problem with scp transport (wagon-maven-plugin 1.0-beta-3, Maven 2.2.1, Ubuntu 11.04)
  • [MNG-5192] - prevent ConcurrentModificationException in parallel mode -Tx when project have errors
  • [MNG-5221] - Default version of m-site-p does not work (no reports)
  • [MNG-5225] - The default version of the maven-site-plugin as defined in the site-lifecycle must be 3.x
  • [MNG-5224] - REGRESSION: Injected Settings in a Mojo are missing the profiles from settings.xml
Improvement
  • [MNG-4112] - Set property containing the currently executing maven version.
  • [MNG-5073] - ProjectBuilder.build(File,ProjectBuildingRequest) returns null project if dependency version info is missing
  • [MNG-5076] - Improve SEO of documentation of lifecycle.xml
  • [MNG-5119] - improve site organization of core components
  • [MNG-5134] - Standard documentation for build-in properties
  • [MNG-5141] - Make MojoExecutor.ensureDependenciesAreResolved public
  • [MNG-5151] - use CNAME or repo to provide more stability
  • [MNG-5152] - upgrade wagon to the final 1.0 version
  • [MNG-5158] - Make loading of extensions from lib/ext more robust with regard to existence of ext directory
  • [MNG-5159] - Extend validation of settings.xml to check for uniqueness of id elements
  • [MNG-5175] - replace wagon http lightweight with wagon http 2.1
  • [MNG-5200] - upgrade plugin versions in super pom
  • [MNG-5201] - upgrade aether to 1.13 and sisu to 2.3.0
Task
  • [MNG-5046] - Remove $Id$ from sources
Test
  • [MNG-5114] - Handling unrecognized version qualifiers
Wish
  • [MNG-5118] - add aggregated javadoc

Other versions : 3.0.3 3.0.2 3.0.1

v3.0.3 [03-05-11]

Bug

  • [MNG-4551] - List parameter in a mojo has strange behaviour
  • [MNG-4956] - Cygwin mvn script modifies CLASSPATH environment variable
  • [MNG-4962] - MavenProject.getParent fails to build when parent POM, in reactor, references BOM also in reactor
  • [MNG-4963] - [regression] Parent POM not downloaded when settings define global mirror and one snapshot repo but no other release repository
  • [MNG-4973] - [regression] Build extensions are invisible to plugins in multi module build
  • [MNG-4975] - [regression] plugin executions injected from profile run before instead of after existing executions in the POM
  • [MNG-4982] - [regression] Cycle between transitive dependencies causes bad effective dependency scope
  • [MNG-4987] - [regression] LATEST, RELEASE or SNAPSHOT version picked from wrong repository when resolution order does not match timestamp order
  • [MNG-4990] - RepositorySystem#resolve(request) uses two different local repositories
  • [MNG-4991] - LegacyRepositorySystem#injectProxy(repositories, proxies) doesn't evaluate non-proxy hosts
  • [MNG-5000] - [regression] child distributionManagment.site.url not correct in a flat directory layout when child's artifactId doesn't match its module name
  • [MNG-5003] - MavenPluginManager serves m2e partially initialized mojo descriptors in some cases
  • [MNG-5005] - bin/mvn contains platform specific echo when on Mac OSX and JAVA_VERSION envvar is set
  • [MNG-5006] - [regression] Resolution of parent POMs for dependency using version range does not consider all configured repositories
  • [MNG-5009] - StackOverflowError in DefaultProjectBuilder.build when module points at current aggregator POM
  • [MNG-5014] - [regression] MavenProject.getParent().isExecutionRoot() not properly set
  • [MNG-5019] - [regression] String-based component lookups performed by report mojos fail with ClassCastException
  • [MNG-5023] - Wrong calculation of Build Total time
Improvement
  • [MNG-3575] - Allow hexadecimal parameters
  • [MNG-4971] - Display maven home in version info
  • [MNG-4984] - Simplify drop in of 3rd party extensions for Maven core
  • [MNG-4988] - API to calculate execution plan without full mojo execution configuration
  • [MNG-4992] - Allow to configure plugin parameters of type java.util.Properties just like a map
  • [MNG-5011] - Allow to configure array/collection type plugin parameters via system properties
  • [MNG-5012] - Allow to configure array-typed plugin parameters from expressions yielding collections and vice versa
  • [MNG-5013] - Allow to condense configuration of plugin parameter beans that commonly require only one value
  • [MNG-5020] - JAVA_HOME auto discovery
  • [MNG-5028] - Obey generics in plugin collection parameters when populating them
  • [MNG-5033] - Allow to inline collection/array items within plugin configuration
Task
  • [MNG-5024] - Update default plugin versions

v3.0.2 [01-15-11]

Bug

  • [MNG-4840] - Prerequisites is not working on m3
  • [MNG-4913] - [regression] User properties override equally named POM properties of transitive dependencies
  • [MNG-4915] - Versions in pom.xml are not checked for invalid characters
  • [MNG-4918] - MavenProject#clone() doubles active profiles
  • [MNG-4919] - Plugin execution contributed by lifecycle mapping gets lost when same goal is bound multiple times
  • [MNG-4923] - [regression] java.lang.ClassNotFoundException: org.apache.maven.artifact.ArtifactStatus
  • [MNG-4925] - Mismanagement of container lookup realm can cause type incompatibilities for plugins looking up components by string
  • [MNG-4933] - With a resource directory as . maven raise an java.lang.StringIndexOutOfBoundsException:217
  • [MNG-4941] - PluginDescriptorBuilder doesn't populate expression/default-value fields for mojo parameters
  • [MNG-4952] - [regression] RELEASE field of repository metadata is not updated upon repeated deployments
  • [MNG-4955] - [regression] Outdated remote snapshots are preferred over locally installed snapshots
  • [MNG-4960] - [regression] Make-like reactor mode does not build selected project when resuming from one of its prerequisites
  • [MNG-4966] - Preserve double slashes in the scm connection url - identifies absolute repository paths for mercurial
Improvement
  • [MNG-4912] - Use of raw type should be ComparableArtifactVersion
  • [MNG-4916] - Poor ProjectBuilder.build performance for projects with unresolvable extension plugins
  • [MNG-4922] - ExecutionEvent give on the exception encountered (when having mojoFailed)
  • [MNG-4926] - ExecutionEvent give on the exception encountered (when having projectFailed , forkedProjectFailed)
  • [MNG-4944] - Include JRE vendor in version info
  • [MNG-4950] - Javadoc improvements to DefaultSettingsWriter/Reader
  • [MNG-4953] - Issue a warning when a system-scope dependency refers to the project basedir
New Feature
  • [MNG-4936] - Allow to better monitor and adjust a Maven build during CI
  • [MNG-4937] - Allow the platform scripts to avoid loading mavenrc content
Task
  • [MNG-4945] - Remove mergeId from public POM
  • [MNG-4957] - Emit validation warning when project version uses irregular SNAPSHOT version string
  • [MNG-4959] - Update default plugin versions

v3.0.1 [11-27-10]

Bug

  • [MNG-4850] - [regression] several elements of server configuration in settings.xml are not honoured
  • [MNG-4858] - NullPointerException if goal name is malformed
  • [MNG-4864] - npe when transferring artifacts
  • [MNG-4866] - DefaultLegacySupport leaks MavenSession instances in some cases
  • [MNG-4867] - incorrect namespace in settings.xml
  • [MNG-4874] - The latestVersion value isn't updated for local installs
  • [MNG-4877] - Regression: Deploy to SCP with privateKey fails - privateKey and passphrase gets lost
  • [MNG-4883] - [regression] Dependency resolution does not fail for artifact with over-constrained version ranges
  • [MNG-4884] - Guice provision errors
  • [MNG-4892] - Use of --log-file doesn't capture all output, e.g. from maven-antrun-plugin
  • [MNG-4895] - Plugins depending on 3rd party JARs that contain the Maven API can't be configured/run due to type incompatibilities
  • [MNG-4900] - "Unresolveable build extension" when using shade plugin and repositories in profile
Improvement
  • [MNG-4860] - Allow management of project building request kept inside MavenProject instances
  • [MNG-4891] - Improve robustness of snapshot dependency resolution in case a remote repo accidently uses the id "local"
  • [MNG-4896] - Help for -pl option does not include use of comma-sep, also more than one -pl does not work or complain
  • [MNG-4904] - Make MavenExecutionResult.getTopologicallySortedProjects() return empty list instead of null
  • [MNG-4907] - Wrong error message when relativePath wrong
  • [MNG-4909] - Emit warning when dependency with scope import but inproper type is declared
  • [MNG-4910] - Use BeanConfigurator for configuration sub-elements
Task
  • [MNG-4902] - Update default plugin versions
  • [MNG-4903] - Update to Wagon 1.0-beta-7

Average review rating :

Useful independent reviews and opinions of the users

Review MavenWrite a review « Be the first to post a review for Maven download!

Predicted future versions and notices:

The doDownload.com constantly monitors the update of all programs, including information from the Maven 3.0.5 changelog file, however sometimes it can happen that data are not complete or are outdated.We assume that author continue's to develop 3.1.0 version with further advanced features, and soon you will be informed. Equally important 4.0.0 upgrades of the program we will continue to monitor. Full Maven description has been compared with the overall software database and our algorithm has found the following applications (are showed below).