现代软件项目不再是单个本地团队独立开发的产物。随着健壮的企业级开源组件的可用性日益提高,当今的软件项目需要项目团队间的动态协作,往往也需要混合使用在全球范围内创建和维护的组件。如今,Apache Maven 构建系统步入了第二代,它和由 Internet 带来的全球软件开发时代之前所创建的那些遗留构建工具不同,它完全是重新设计的,以应对这些现代的挑战。
现代软件开发基于健壮的企业级开源技术,它需要一类新的构建工具和项目协作工具。Apache Maven 2 的核心引擎旨在简化往往十分复杂的大型协作性软件项目的构建和管理。在大型项目团队环境中工作是种挑战,而 Maven 2 以友好为设计目的,即便对那些不熟悉这种挑战的开发人员而言,Maven 2 也足够友好。
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
If you think that Maven could help your project, you can find out more information about in the "About Maven" section of the navigation. This includes an in-depth description of what Maven is, a list of some of its main features, and a set of frequently asked questions about what Maven is.
The Apache Maven team would like to announce the release of Maven 3.0.2.
Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central place.
Maven 3 aims to ensure backward compatibility with Maven 2, improve usability, increase performance, allow safe embedding, and pave the way to implement many highly demanded features.
The core release is independent of the plugins available. Further releases of plugins will be made separately. See the Plugin List for more information.
We hope you enjoy using Maven! If you have any questions, please consult:
the web site: http://maven.apache.org/
the maven-user mailing list: http://maven.apache.org/mail-lists.html
这是一个维护版本,主要是bug修复:
** 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 Comparable<ArtifactVersion>
* [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