Encyclopedia definition
MAVEN is a software project management tool that is based on a Project object model (POM) that can manage the construction, reporting, and documentation of a project through a short description of the information.
MAVEN is a project management tool that contains a project object model, a set of standard collections, a Project life cycle (Project Lifecycle), a dependency management system (Dependency Management System), and the logic used to run the plug-in (plugin) target (goal) defined in the life cycle phase (phase). When you use MAVEN, you use a well-defined project object model to describe your project, and maven can apply crosscutting logic that comes from a set of shared (or custom) plug-ins.
What is maven?
After looking at the last paragraph of the text, not only did not understand the role of MAVEN, but increased the difficulty of understanding. Now let's have a concrete talk.
As a successful open source project in the Apache organization, MAVEN primarily serves the project building, dependency management, and project information management of the basic Java platform.
Build tools
MAVEN is a powerful build tool that helps us automate the build process, from cleanup, compilation, testing, to generating reports, to packaging and deployment . We just use MAVEN to configure the project and enter simple commands, and Maven will help us with these trivial tasks.
Dependency Management
Any Java application might use a third-party open source class library that can be introduced into the project in a way that relies on it. With the increase of dependence, version inconsistencies, version conflicts and other issues follow. Maven accurately locates each build (artifact) through a coordinate system, that is, MAVEN can find any Java class library through a set of coordinates. **maven to this kind of library world to introduce the latitude and longitude, let them become orderly, so we can use it to manage the orderly, easy to solve the complex dependency problem.
Project Information Management
MAVEN helps us manage project information, including project descriptions, developer lists, version control system addresses, licenses, and more. In addition to the direct project information, through the MAVEN auto-generated site, as well as some existing plugins, we can easily get project documents, test reports, static analysis reports, source version log reports and other valuable project information.
MAVEN has established rules for the structure of the project directory, naming the test cases, and so on, and the user avoids additional learning costs when switching between projects.
Lack of IDE
The IDE relies on a lot of manual manipulation. Compiling, testing, and code generation are all independent, and it's hard to do all the work with one click.
It is difficult to unify all the IDE configurations in the project, everyone has their own preferences.
We can perform the build process by using the integrated maven in the IDE.
Reprint please indicate the author Jason Ding and its provenance
GitHub home page (http://jasonding1354.github.io/)
CSDN Blog (http://blog.csdn.net/jasonding1354)
Jane Book homepage (http://www.jianshu.com/users/2bd9b48f6ea8/latest_articles)
"Project Tools" Contact MAVEN