提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
我们目前的技术在开发中存在的问题
①一个项目就是一个工程
如果一个项目非常庞大,就不适合继续使用package来划分模块,最好是每一个模块对应一个工程,利于分工协作。
借助于Maven就可以将一个项目拆分成多个工程。
②项目中需要的jar包必须手动“复制”、“粘贴”到WEB-INF/lib目录下
带来的问题:同样的jar包文件重复出现在不同的项目工程中,一方面浪费存储空间,另外也让工程比较臃肿。
借助Maven,可以将jar仅仅保存在“仓库”中,有需要使用的工程“引用”这个文件接口,并不需要真的把jar包复制过来。
③jar包需要别人替我们准备好,或到官网下载
不同技术的官网提供jar包下载的形式是五花八门的。
有些技术的官网就是通过Maven或SVN等专门的工具来提供下载的。
如果是以非正规的方式下载的jar包,那么其中的内容很可能也是不规范的。
借助于Maven可以以一种规范的方式下载jar包。因为所有知名框架或第三方工具的jar包以及按照统一的规范存放在了Maven的中央仓库中。
以规范的方式下载的jar包,内容也是可靠的。
Tips:“统一的规范”不仅是对IT开发领域非常重要,对于整个人类社会都是非常重要的。
④一个jar包依赖的其他jar包需要自己手动加入到项目中
FileUpload组件→IO组件。commons-fileupload-1.3jar依赖于commons-io-2.0.1.jar
如果所有jar包之间的依赖关系都需要程序员自己非常清楚的了解,那么就会极大的增加学习成本。
Maven会自动将被依赖的jar包导入进来。
一、Maven是什么?
Maven是一款服务于java平台的自动化构建工具。
Gradle是Maven的替代品
一般来说传统web工程jar包在项目中,而使用Maven后jar包是放在jar包仓库中的。
二、项目的一键构建
构建
指的是项目从编译、测试、运行、打包、安装,不熟珍格格过程都交给maven进行管理,这个过程称为构建。
一键构建
指的是整个构建过程,使用maven一个命令可以轻松完成整个工作。
三、Maven软件的下载
到Maven的官网下载
下载地址:http://archive.apache.org/dist/maven/maven-3/
选择所需的版本
四、Maven的安装
在环境变量中把maven的所在路径复制到path中命名为MAVEN_HOME
在PATH中写 %MAVEN_HOME%\bin
测试Maven是否安装成功
在cmd窗口中输入mvn -v ,显示如下图则代表安装成功
TIPS:
当我们启动一个maven的时候,它回去默认的系统盘的本地仓库找jar包
仓库分三类
本地仓库、远程仓库(私服)、中央仓库
三类的关系
当启动一个maven工程会从本地仓库找jar包,如果本地没有在联网状态下,会从中央仓库下载;
在公司中启动一个maven工程会从本地仓库找jar包,如果本地没有,会从私服下jar包,如果私服也没有可以从中央仓库下载,也可以上传
更改仓库路径
<localRepository>仓库路径</localRepository>
maven项目标准目录结构
src/main/java目录——核心代码部分
src/main/resources——配置文件部分
src/test/java目录——测试代码部分
src/test/resources——测试配置文件
src/main/webapp——页面资源,js,css,图片等等
五、Maven常用命令
在cmd中进入项目所属的文件后,输入 mvn clean
clean命令:是把项目中编译好的信息直接删掉
意义:
在公司中拿到别人的项目接着开发的时候,必须要输入mvn clean
mvn compile:将src main下面的代码放到了target目录下
mvn test:将测试下的java文件变为class文件
mvn package:将项目打包成war包
mvn install:将包安装到本地仓库
清除项目编译信息 编译 测试 打包 安装 发布
clean compile test package install deploy
其中发布命令是需要进行一些配置的,而其他命令则可以直接配置
maven的概念模型图
maven两大特性
1、依赖管理
2、一键构建
maven的IDEA配置
在IDEA中创建一个Maven工程(使用骨架)
选择这两个选项:quickstart是IDEA为Maven提供好的创建Java工程的骨架
点击Next则为工程的坐标
GroupId:公司和组织的名称
ArtifactId:当前的项目名称
一路next到最后即可,如果下载太慢,推荐在setting.xml中使用阿里云的镜像下载
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
放置配置文件的地方
在main文件里新建一个名为resource的文件,并入图展示所做,在里面放配置文件
在IDEA中创建一个Maven工程(不使用骨架)(推荐)
不勾选使用骨架
使用骨架创建maven的web工程
选择 maven-archetype-webapp,点击下一步
当控制台出现BUILD SUCCESS的时候,就代表maven的web工程已经创建完成
但这个时候路径不全,我们需要新建文件夹java,并且右键选择Mark Directory as 选择Sources Root,正式的代码写在java中
导入jar包到web工程
在pom.xml文件中,写如下标签,即可
如果本地仓库中没有所需的jar包该如何处理呢?
在百度中搜索 maven中央仓库,第一个
在搜索栏中搜索需要的jar包名称,将jar包的坐标复制到pom.xml中
在IDEA中使用maven的情况下,启动tomcat
但是由于我们导入的jsp和servlet的jar包和tomcat中的这两个包冲突,所以我们需要为这两个包的导入文件加一个作用域
如:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
其中的scope标签为作用域
provided为仅仅在写代码的时候起作用,在运行的时候不起作用;
test为仅仅在测试的时候起作用
启动后复制指令台的蓝色url,输入后续地址,则可启动成功
改变环境