安装与配置
确保安装了JDK(1.6以上版本)
· 安装
解压apache-maven-3.2.5-bin.zip
(路径最好不要有空格和中文)
· 环境变量配置
设置到系统环境变量中
变量 | 值 |
---|---|
MAVEN_HOME | 根目录 |
Path | %MAVEN_HOME%\bin |
· 验证
mvn -v
· 额外配置
Maven在构建大型业务项目的时候,十分消耗内存,可以为Maven的运行配置JVM内存。
配置环境变量
变量 | 值 |
---|---|
MAVEN_OPTS | -Xms128m -Xmx512m |
仓库
Maven 仓库有三种类型:本地(local),中央(central),远程(remote)。
获取依赖顺序
在local找,找不到去central找。
若再找不到,则看是否配置了remote。若有,则去remote找。
找不到会报错。
本地仓库
在第一次执行 maven 命令的时候才被创建。
默认,不管是Windows还是Linux,每个用户在自己的用户目录下都有一个.m2/respository
的仓库目录
本地仓库默认被创建在%USER_HOME%
目录下。
若需修改仓库位置,则需修改maven根目录/conf/setting.xml
<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>D:\maven\localRepository</localRepository>
中央仓库
Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。
这个仓库由 Maven 社区管理。不需要配置。需要通过网络才能访问。
中央仓库搜索URL:http://search.maven.org/#browse。
配置阿里云镜像
maven根目录/conf/setting.xml
<mirrors>
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors>
项目根目录/pom.xml
<repositories>
<repository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
远程仓库
配置项目pom.xml
<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>com.companyname.projectgroup</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>com.companyname.common-lib</groupId>
<artifactId>common-lib</artifactId>
<version>1.0.0</version>
</dependency>
<dependencies>
<repositories>
<repository>
<id>companyname.lib1</id>
<url>http://download.companyname.org/maven2/lib1</url>
</repository>
<repository>
<id>companyname.lib2</id>
<url>http://download.companyname.org/maven2/lib2</url>
</repository>
</repositories>
</project>
项目构建与结构
快速构建项目
>mvn archetype:generate
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 7: # 回车跳过
Define value for property 'groupId': fun.hara
Define value for property 'artifactId': blog
Define value for property 'version' 1.0-SNAPSHOT: :
Define value for property 'package' fun.hara: : blog
项目结构
blog
└─src
├─main
│ └─java
│ └─blog
└─test
└─java
└─blog
Mavan默认项目结构
路径 | 说明 |
---|---|
src/main/java | 存放项目.java文件 |
src/main/resources | 存放项目资源文件。如配置文件 |
src/main/webapp | 存放jsp,css,image等文件 |
src/test/java | 存放Java测试类.java文件 |
src/test/resources | 存放测试资源文件 |
pom.xml | maven配置文件 |
target | 项目输出位置 |
下载 jar 包
mvn dependency:get -DremoteRepositories=http://repo1.maven.org/maven2/ -DgroupId=cglib -DartifactId=cglib -Dversion=3.1