工欲善其事-Maven介绍与使用

Maven是什么?

Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。

在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。

Maven提供了开发人员的方式来管理:

  • Builds

  • Documentation

  • Reporting

  • Dependencies

  • SCMs

  • Releases

  • Distribution

  • mailing list

概括地说,Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。

重点在于大型Java项目的管理。自动化的构建工具。提供了仓库的概念,避免因为环境的变化而项目不能运行的情景。

maven下载目录:http://maven.apache.org/download.cgi

现在zip,直接解压,配置系统环境变量,就可以使用。验证是否成功,dos环境下,输入 mvn -v查看。

编写如下POM文件。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.accipiter</groupId>
    <artifactId>Hello</artifactId>
    <packaging>jar</packaging>
    <version>1.0</version>
    <name>Hello</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    
    <build>
      <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
      </plugins>
    </build>
    
</project>
View Code

groupId:包名。artifactId:模块名。POM放在项目根目录中。

  1. 使用 mvn compile命令进行编译。
  2. 使用mvn test命令运行测试内。
  3. 使用mvn package命令生成jar.
  4. 使用mvn clean删除target。
  5. 使用mvn install安装jar包到本地仓库中。
  6. 使用mvn archetype:generate -Dgroupid= -DartifactId= -Dversion= -Dpackage= 命令自动生成maven项目目录。

eclipse安装maven插件,可以在eclipse中直接进行项目的编译,打包等。其结果和命令一样。

原文地址:https://www.cnblogs.com/accipiter/p/5138042.html