1.Install
- 解压到指定目录(配置环境变量)
- 配置本地仓库(conf/settings.xml)
.
- 切换环境到 jdk-1.8
<profiles> <profile> <id>jdk-1.8</> <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>
- maven 常用命令:compile、package、clean、tomcat7:run……
- 在 eclipse 中设定 maven
2.pom
创建 maven 工程,修改运行环境:

<!-- 引入插件,修改运行环境 --> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build>
添加 tomcat 插件(运行 tomcat):

<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8080</port> <path>/springmvc11</path> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <type>pom.lastUpdated</type> <scope>provided</scope> </dependency>
在 pom 中可以使用变量:

<!-- 定义变量 --> <properties> <spring.version>4.2.4.RELEASE</spring.version> </properties> <!-- 依赖 --> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <!-- 对变量的引用 --> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency>
引入依赖时,默认依赖范围是 compile,可以进行必要修改:

<!-- 为测试设置 依赖范围 --> <dependency> <groupId>org.apache.maven.surefire</groupId> <artifactId>surefire-junit4</artifactId> <version>2.18.1</version> <scope></scope> <!-- 依赖范围取值:test、compile、provided、runtime --> </dependency> </dependencies>
编译有效 | 测试有效 | 运行时有效 | |
compile* | √ | √ | √ |
runtime | √ | √ | |
provided | √ | √ | |
test | √ |
- 依赖传递:项目内部工程之间也会发生依赖。内部依赖多次传递可能会出现依赖冲突(A->N->C1,A->M>C2)。maven 有两条处理原则:长度优先、顺序优先。
- 版本锁定:把子工程的依赖潜入父工程 <dependencyManagement> 标签,在子工程可以略去 坐标的 version 配置。(不略,优先于父)
阿里仓库代理:

<?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 | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository> --> <localRepository>D: epo epository</localRepository> <pluginGroups> </pluginGroups> <proxies> </proxies> <servers> </servers> <mirrors> <mirror> <id>central</id> <mirrorOf>central</mirrorOf> <name>central</name> <url>https://maven.aliyun.com/repository/central</url> </mirror> <mirror> <id>jcenter</id> <mirrorOf>jcenter</mirrorOf> <name>jcenter</name> <url>https://maven.aliyun.com/repository/public</url> </mirror> <mirror> <id>public</id> <mirrorOf>public</mirrorOf> <name>public</name> <url>https://maven.aliyun.com/repository/public</url> </mirror> <mirror> <id>google</id> <mirrorOf>google</mirrorOf> <name>google</name> <url>https://maven.aliyun.com/repository/google</url> </mirror> <mirror> <id>gradle-plugin</id> <mirrorOf>gradle-plugin</mirrorOf> <name>gradle-plugin</name> <url>https://maven.aliyun.com/repository/gradle-plugin</url> </mirror> <mirror> <id>spring</id> <mirrorOf>spring</mirrorOf> <name>spring</name> <url>https://maven.aliyun.com/repository/spring</url> </mirror> <mirror> <id>spring-plugin</id> <mirrorOf>spring-plugin</mirrorOf> <name>spring-plugin</name> <url>https://maven.aliyun.com/repository/spring-plugin</url> </mirror> <mirror> <id>grails-core</id> <mirrorOf>grails-core</mirrorOf> <name>grails-core</name> <url>https://maven.aliyun.com/repository/grails-core</url> </mirror> <mirror> <id>apache snapshots</id> <mirrorOf>apache snapshots</mirrorOf> <name>apache snapshots</name> <url>https://maven.aliyun.com/repository/apache-snapshots</url> </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>
版本更新:

mvn versions:set -DnewVersion=3.2p
maven .