Maven
概述
Apache Maven是一个项目管理及自动构建工具。
项目管理:编译、测试、运行、打包(jar,war)、部署
依赖管理
下载
http://maven.apache.org
安装、配置
- 直接解压即可
- 配置环境变量
- M2_HOME=>maven的解压目录
- 修改 path=>添加%M2_HOME%\bin
- 测试:mvn-v
maven仓库
- 本地仓库:本地的一个文件夹
- 中央仓库:世界唯一的,由Maven社区维护的(网站)
- 远程仓库:是位于web服务器上的一个私有仓库,一般由自己公司创建和维护
- 镜像仓库:是中央仓库的镜像(副本),目的是加快依赖jar包的下载
修改Maven配置
修改:maven的安装目录下的config/settings.xml
//修改本地仓库的位置 <localRepository>D:\repo</localRepository>
配置阿里云的镜像
<mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> </mirrors>
使用
maven目录结构
src:源程序目录 main:源程序目录 java:程序 resources:资源文件 webapp:web项目(不是web项目没有) test:测试代码 target:项目生成的结果
创建Maven项目
- maven project向导
- 配置三个坐标(定位唯一的jar包)
- groupId(组ID):组织或公司的域名
- artifactId:组件名(项目名)
- version:版本号
配置打包方式
- jar(默认打包方式,控制台项目或Window项目)
- war(web项目)
- pom(maven的管理项目)
pox.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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.neu</groupId> <artifactId>mavendemo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <build> <plugins> <!-- 资源文件拷贝插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.7</version> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- java编译插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <path>/</path> <port>8089</port> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <webResources> <resource> <excludes> <exclude>**/WEB-INF/web.xml</exclude> </excludes> <directory>src/main/webapp</directory> </resource> </webResources> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> </build> <!-- 依赖 --> <dependencies> <!-- 单元测试 --> <!-- https://mvnrepository.com/artifact/junit/junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api --> <!-- <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency> --> </dependencies> </project>