Maven 是目前最流行的自动化构建工具,对于生产环境下多框架、多模块整合开发有重要作用。

Maven 是一款在大型项目开发过程中不可或缺的重要工具。

下面了解 Maven 的作用,常用命令,如何配置依赖,以及依赖的范围、依赖的传递性、依赖的排除、生命周期等重要概念,以及继承、聚合这样的 Maven 配置。

然后看看Eclipse与IDEA中怎么使用Maven,现在这两款工具使用Maven基本差不多,都很简单。

注:Eclipse右下脚出现retrieving archetypes,请按《eclipse retrieving archetypes 太慢,Catalog 半天出不来进行设置。

一、settings.xml       

settings3.6.3.xml      


<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
   <localRepository>F:/Cache/repository</localRepository><!--需要改成自己的maven的本地仓库地址 -->
   <pluginGroups></pluginGroups>
   <proxies></proxies>
   <servers></servers>
   <mirrors>
      <mirror>
         <id>alimaven</id>
         <name>aliyun maven</name>
         <url>https://maven.aliyun.com/repository/central</url>
         <mirrorOf>central</mirrorOf>
      </mirror>
   </mirrors>
   <profiles>
      <profile>
         <id>jdk-1.8</id>
         <activation>
            <activeByDefault>true</activeByDefault>
            <jdk>1.8</jdk>
         </activation>
         <properties>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
         </properties>
      </profile>
   </profiles>
</settings>


一、一个简单标准的maven配置文件结构(pom.xml):

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>test-maven</groupId>
   <artifactId>test-maven</artifactId>
   <version>1.0-SNAPSHOT</version>
   <build>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
               <source>1.8</source>
               <target>1.8</target>
               <encoding>UTF-8</encoding>
            </configuration>
         </plugin>
      </plugins>
   </build>
   <dependencies>
      <dependency>
         <groupId>commons-io</groupId>
         <artifactId>commons-io</artifactId>
         <version>2.7</version>
      </dependency>
   </dependencies>
</project>