1.maven简介
maven翻译成“专家”、“内行”,maven是Apache下的一个纯Java开发的开源项目,是一个项目管理工具使用maven对java项目进行构建、依赖管理,只能用来管理Java
项目构建:编译、测试、运行、打包、部署、运行的过程
1>maven的优点
占用磁盘空间小:maven有一个本地仓库存放着项目(工程)所需要的jar包
依赖管理:maven对项目所依赖的jar包有着统一的管理,坐标(struts-core-2.3.24.jar)>>> 哪个公司或组织 哪个项目 哪个版本
项目的一键构建:cmd下一个 mvn tomcat:run 就能把项目运行起来(maven能做的编译、测试、运行、打包、部署)
maven还可以夸平台,应用于大型项目时可以提高开发效率
2>maven的分模块开发
互联网项目:按业务分模块(用户管理、订单管理、支付管理)
传统项目:按层分(entity、dao、service、web)
2.maven的安装
下载:http://maven.apache.org/download.cgi
安装:将压缩包直接解压即可
maven的核心配置文件:D:\class2\apache-maven-3.3.9\conf\settings.xml
maven环境变量配置:名称(MAVEN_HOME),变量值(D:\class2\apache-maven-3.3.9),然后再将MAVEN_HOME添加到path变量中即可(%MAVEN_HOME%\bin;)
测试:cmd下使用命令 mvn -v 出现一系列的版本信息即可(maven版本、jdk版本、系统版本)
2>maven的仓库:本地仓库、远程仓库(私服)、中央仓库
本地仓库(repository):将本地仓库的位置配置到maven的setting.xml文件
<localRepository>D:\class2\repository</localRepository>
远程仓库:公司维护
中央仓库:maven团队维护
三种仓库的关系:在自己电脑上创建好maven项目以后调用的是本地仓库的jar包,当本地仓库没有所需的jar包时本地仓库会去远程仓库或中央仓库中下载所需的jar包,若远程仓库也没有所需jar包那么远程仓库会去中央仓库中下载,本地仓库和远程仓库的所有jar包都来自中央仓库
3.maven项目
maven项目的目录结构
pom.xml:maven项目的核心配置文件
2>maven的常用命令
clean:清理所有编译的文件
compile:编译主目录的文件
test:编译并运行test目录的代码
package:将项目打包成jar或war
install:把项目发布到本地仓库(jar)
tomcat run:一键启动
命令的生命周期:compile、test、package、install(后一个执行的命令会把前面的命令都执行)
mvn tomcat run
4.搭建一个maven项目
1>maven在eclipse中的位置(eclipse自动集成了maven)
添加maven:Window >>> Maven >> Installations >> add(选择自己maven的安装目录) >> 选中所添加的apache-maven-3.3.9
修改默认的本地仓库地址:
编译时不需要,测试时需要,运行时不需要,打包也不需要
File >>> Maven Project >>> 记得勾选Create a simple...
填写项目坐标
3>添加web.xml文件
手动在webapp文件夹下创建一个WEB-INF文件夹,在里面放一个web.xml文件
4>处理jdk编译版本(默认1.5),使用tomcat7:run运行
<build>
<!-- 配置了很多插件 -->
<plugins>
<!-- 配置jdk,设置jdk版本为1.8 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 配置tomcat7 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/first</path><!-- first成为了项目的访问地址:http://localhost:8080/first/findById.action?custId=3 -->
</configuration>
</plugin>
</plugins>
</build>
5>servlet和jsp所需要的jar包
<!-- 导入了很多的jar包 -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
6>启动项目
右键项目 >> Run As >> Maven build... >> 输入tomcat7:run
5.依赖管理
1>重建索引
2>添加依赖
3>依赖范围(重点)
Compile(struts2-core):编译(compile)时需要 测试时需要,,运行时需要,打包时需要
Provided(jsp-api.jar、servlet-api.jar)编译(compile)时需要,测试(test)时也需要 ,运行时不需要,打包时不需要
Runtime(数据库驱动包)译时不需要,测试时需要,,运行时需要,打包时需要
Test(junit.jar)编译时不需要,测试时需要,运行时不需要,打包也不需要