maven概述
*. maven 它是一个项目管理工具,用了它,现在项目管理上,我们可以省掉好多事,非常便捷。
maven 安装
* 注意: 不要把maven安装到带有“中文 或者 空格”的文件夹下
构建我们的java项目 javase javaee
特点:
1.项目根目录下必有一个pom.xml
* 用来通过标签配置 jar包或者插件的坐标, maven会通过我们的配置完成对应资源(jar、插件)的下载。
2.项目的编译成果物在根目录下target文件夹下
基本目录结构
说明: 以下三个重点记忆
* src/main/java 写java代码
* src/main/resources 放配置文件, druid.properties jedis.properties
* src/main/webapp 存放我们的 WEB-INF 和 .html/.jsp .css .js img图片
说明: 以上两个与单元测试相关, 先做了解
* src/test/java 写单元测试java代码
* src/test/resources 单元测试代码所需的配置文件存放目录
三方依赖jar包管理
1. 中央仓库--其他公司仓库
* F:\worksoft\apache-maven-3.3.9\conf\settings.xml
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
2. 私服-需要公司自己搭建的
* 它不是必须的,如果想要从私服中下载jar包和插件,是需要在项目 pom.xml 通过标签进行配置的
3. 本地仓库-windows系统本地文件夹
* 默认本地仓库文件夹路径: C:\Users\ZJW\.m2\repository
* 修改本地仓库默认路径: F:\worksoft\apache-maven-3.3.9\conf\settings.xml 55 行
<localRepository>F:\.m2\repository</localRepository>
三者顺序关系: 每次下载jar 包,maven都会先去 “本地仓库” 检验是否有jar包,如果没有, 还配置了私服,那么就去私服下载jar包,如果私服
中没有该jar包或者没有配置私服,则直接去 中央仓库去 下载jar包,如果中央仓库也没有, 那么idea会进行错误提示。
插件
1. maven自带插件
* clean 清除target文件夹中的文件
* test 单元测试-Junit @Test
* compile 编译项目
* package 打包成果物 jar war
* install 将项目编译,打包,测试,追加到本地仓库
2. maven三方插件
<build>
<!-- 配置了很多插件 -->
<plugins>
<!-- 该插件用来配置编译.java -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 该插件用来启动我们的javaweb项目, 它是tomcat7版本 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>8888</port>
<path>/like</path>
<uriEncoding>UTF-8</uriEncoding>
<server>tomcat7</server>
</configuration>
</plugin>
</plugins>
</build>
命令
-
mvn -v 查看maven的版本信息
-
与maven构建的项目相关的命令
-
clean (使用最多)
*. 清理(删掉)项目编译文件夹target 的命令
*. 注意: clean命令只是单纯的删除target 文件夹, 并不会把本地仓库中的成果物一并删除 -
compile
*. 用来将maven项目进行编译 比如: .java – 》 .class -
test 命令
*. 对我们的项目进行编译
*. 会执行项目中test目录下以 xxxxTest.java 结尾的所有测试代码
说明: 该命令多用于单元测试 -
package (使用最多)
*用来对我们的项目进行打包, 成果物: jar war / 所在目录: 项目target 文件夹下 -
install
*. 安装的意思
*. 它会将项目编译, 打包后的成果物, 存放到本地仓库中
特别注意: 上述五个命令均与maven项目有关, maven项目根目录下必有pom.xml, 执行命令时必须在pom.xml 所在的文件夹
下执行, 才能正确处理。 -