Maven
为什么要学这个技术
- 在Javaweb开发中,需要使用大量的jar包,我们手动去导入;
- 如何能够让一个东西自动帮我导入和配置这个jar包。因此,Maven诞生了!
Maven项目架构管理工具
我们目前用来就是方便导入jar包的!
Maven的核心思想:约定大于配置
- 有约束,不要去违反
Maven会规定好你该如何去编写我们的Java代码,必须按照这个规范来。
下载安装Maven
选择太高版本的maven,IDEA或者jdk可能不兼容,在初始化时会出错,这里选择了之前发布的版本。主动降低maven的版本。
https://dlcdn.apache.org/maven/maven-3/3.6.3/binaries/
下载完成之后,解压
配置环境变量
配置如下变量:
- M2_HOME maven目录下的bin目录
- MAVEN_HOME maven的目录
- 在系统的path中添加 %MAVEN_HOME%\bin
测试配置成功
配置阿里云镜像
D:\devtool\apache-maven-3.6.3\conf\settings.xml
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
建立本地仓库 localRepository
先创建文件夹 maven-repo
<localRepository>D:\devtool\apache-maven-3.6.3\maven-repo</localRepository>
在IDEA中使用Maven
在idea控制台,看见 build success 说明成功,看看maven-repo多了些什么
创建完成之后检查
新建两个文件夹,并标记他们
配置tomcat
下面有一个警告
为什么会出现这个问题:我们访问一个网站,需要指定一个文件夹名字。
启动tomcat
能看到index.jsp
maven项目说明
pom.xml
Maven的高级之处在于,他会帮我导入这个jar包所依赖的其他jar包
<!--项目依赖-->
<dependencies>
<!--依赖的jar包-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
Maven由于他约定大于配置,我们之后可能会遇到我们写的配置文件,无法被导出或者生效的问题,解决方案:
在build中配置resources,来防止我们资源导出失败的问题
<build>
<!--没有配置之前,约定java文件夹里面只能写*.java文件-->
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<!--让src/main/java这个目录中,可以包含*.properties 和 *.xml文件-->
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<!--让他不去过滤-->
<filtering>false</filtering>
</resource>
</resources>
</build>