Maven
Maven的安装
下载安装包,直接解压就可以使用
目录
bin—构建项目
boot----maven运行的类加载器
conf------中有一个setings是我们对maven配置的很重要的一个配置文件
lib----------maven自身运行需要的一些jar包
需要配置maven的环境变量
path的环境变量
注意:maven的运行需要依赖于javahome的环境变量(确定我们的环境中有javahome)
如何确定我们的maven环境已经安装好了
DOS输入 : mvn -v
简述
项目管理工具
- 解决jar包管理
- 自动编译
- 自动的单元测试
- 打包整合配置文件和代码,便于维护
- 生成打包,部署文件
maven依赖管理
maven工程中,我们不在需要自己将项目中的jar包导入到项目中,而是用依赖的方式,从远程仓库中拿到jar包到本地使用,这是我们得项目打包之后的内存下
- 传统的web工程----------jar包在项目中
- maven开发的项目--------------jar包不在项目中
既然不在项目中,那么maven工程中怎么编译和运行时找到jar包呢?
是从远程仓库中找到jar包,怎么找?jar包的坐标
maven符合代码可重用.
依赖管理:maven工程对jar包的管理过程就是依赖管理.具体的讲就是maven项目中不需要在放jar包,而是放在中央仓库中,当我们项目编译或者运行的过程中,会通过jar包的坐标去中央仓库中找到对应的jar包.
maven一键购键
我们的项目,往往都要经过编译.测试.运行.打包.安装.部署等一系列的过程
什么是构建?
指的是:项目从编译.测试.运行.打包.安装.部署等一系列的过程都交给maven进行管理,过程称为构建
一键构建指的是整个构建过程,使用maven一个命令可以轻松完成整个工作
Maven规范化构建流程
maven将项目构建进行标准化,每个阶段使用一个命令完成.
清理------编译------测试--------报告-------打包-----------部署
Maven仓库的种类和彼此关系
Maven标准目录结构:
首先我们确定我们的项目中应该包含哪些部分:
- 核心代码部分
- 配合文件部分
- 测试代码部分
- 测试配置部分
maven项目标准目录结构
- src/main/java目录 :核心代码目录
- src/main/resources:配置文件目录
- src/test/java目录:测试代码部分
- src/test/resources:测试配置文件
- src/main/webapp 页面资源js,css图片页面等
maven常用命令:
- compile:是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录中
- 在项目中进入cmd页面,执行mvn compile命令
- clean:删除该项目在本地编译的所有的文件(因为项目拿过来之后因为使用的(开发环境)软件的版本不同可能不能编译成功),然后自己重新编译.
- 在项目中进入cmd页面,执行mvn clean命令
- text:是maven工程的编译命令,作用是将src/main/text和src/main/java下的文件编译为class文件输出到target目录中
- 在项目中进入cmd页面,执行mvn text命令
- package:将项目打包,放在了target目录下生成了一个项目的打包文件xxx.war(为什么打包为war包,和maven的配置有关),这个命令和同时把java目录下和text目录下的文件编译
- 在项目中进入cmd页面,执行mvn package命令
- install:项目部署,将这个项目安装到了本地仓库,并且也同时把java目录和text目录下的文件编译,并且打包为war包
Maven生命周期
Maven概念模型图
IDEA集成maven工具
前提是:我们的电脑上已经安装了maven工具
而且正确的安装了jdk(maven工具依赖jdk)
配置SSL认证
配置这个的目的是:绕过SSL认证,就可以在配置了镜像仓库之后来下载jar包,不然很可能下载失败
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true
maven项目的创建
- 不使用骨架创建maven项目
- 使用quickstart骨架创建maven项目
- 使用骨架创建webapp项目
- 注意需要自己创建src下的java包并标记为源码包
maven项目的导入
- 创建新的空的项目
- 用右边的maven工具打开要导入项目的pom文件
- 调整jar包的依赖
maven中常见的问题
1.maven项目中依赖导入但是不能正常使用jar包
2.导入新项目时,maven projects栏中dependencies中总是有红色波浪线
其实我们的仓库中应该是有哪些jar包的,但是可能因为IDEA的bug而找不到jar包
其中一个解决方案就是:
- 现在 maven projects工具栏执行 mvn clean命令,删除之前的编译
- 在项目pom中先删除有红线的jar包的依赖
- 在maven projects的工具栏中reimport(或者在点击pom.xml的maven标签中的reimport)
需要注意的
在maven projects栏中dependencies中总是有红色波浪线,并不一定是我们的jar包依赖有错,只有那种前面有小三角符号的才真正是jar包依赖有问题,其他的可能是我们在修改pom.xml文件时因为会自动保存和部署,而造成的一些很随意的字符的错误
1.另外tomcat的版本和jdk的版本也要特别注意
<!--maven插件-->
<plugins>
<!--jdk编译插件-->
<plugin>
<!--配置jdk -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<target>1.8</target>
<source>1.8</source>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!--tomcat插件-->
<plugin>
<!--配置tomcat7 要设置为自己的tomcat的版本 -->
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<!-- 配置端口号 -->
<configuration>
<port>80</port>
<!-- 项目访问路径 本例:localhost:9090, 如果配置的aa, 则访问路径为localhost:9090/aa-->
<path>/travel</path>
</configuration>
</plugin>