一、Maven(重点:约定大于配置)
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven这个单词来自于意第绪语(犹太语),意为知识的积累,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs、
1.1、 Maven的下载以及环境变量的配置
配置环境变量:
M2_HOME:Maven的bin目录
MAVEN_HOME:Maven的安装目录(注意在path添加%MAVEN_HOME%in)
关于M2_HOME跟MAVEN_HOME的区别:
参考:https://stackoverflow.com/questions/17136324/what-is-the-difference-between-m2-home-and-maven-home
MAVEN_HOME
适用于 Maven 1,M2_HOME
适用于 Maven 2 及更高版本。
Maven 2 是对 Maven 1 的完全重写,并且不向后兼容。拥有两个不同的_HOME
变量意味着可以在同一台机器上运行这两个变量。
具有讽刺意味的是,对于 Maven 版本 3,您仍然必须使用 M2_HOME 和 M2。否则,它会失败、
根据官网所述:https://maven.apache.org/docs/3.5.0/release-notes.html
从Maven 3.5.0开始M2_HOME的用法被移除且不再被支持,也就是说,在3.5.0之后,只需要配置MAVEN_HOME即可~
验证:
cmd输入:mvn -v进行验证
1.2、配置文件:
配置镜像是为了加速下载
换这个,上面那个镜像下载的贼慢
<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>uk</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://uk.maven.org/maven2/</url> </mirror> <mirror> <id>CN</id> <name>OSChina Central</name> <url>http://maven.oschina.net/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>nexus</id> <name>internal nexus repository</name> <url>http://repo.maven.apache.org/maven2</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
1.3、本地仓库
localRepository:本地存储库
l 在我使用的这个版本中是没有maven-repo存储库的,我们又不想在idea中让它给我们进行设置,因为他设置的本地仓库我们不好找。所以就在我们的maven目录下创建一个本地仓库:
二、 在IDEA中使用Maven(模板创建):
完成后点击右下角导入包
下载要挺久时间的,多等一会、
下载完成时这样的:
我们使用模板创建的maven程序少了项目时要用的目录,这时候需要我们手动的添加上去:
这个黑色的java文件夹,我们在右键的时候并不会出现提示我们创建.java文件,所以我们更改目录的源
至此,maven就已经配置成功了、
2.1、 pom.xml配置文件
2.2、Maven资源导出错误解决办法:
我们在左侧的java目录文件中只能写java文件,但是我们又写了其他的文件,这时候就会出现maven无法被导出的问题:
maven由于他的约定大于配置,我们之后可以能遇到我们写的配置文件,无法被导出或者生效的问题,解决方案:
<resources> <resource> <directory>src/main/resources</directory> <excludes> <exclude>**/*.properties</exclude> <exclude>**/*.xml</exclude> </excludes> <filtering>false</filtering> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources>
2.3、idea配置Tomcat
此处就省略了步骤……
1.5 IDEA中替换配置文件的头文件:
apache-tomcat-9.0.37webappsROOTWEB-INFweb.xml
把这个配置文件的头文件覆盖到上面的web.xml中、
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0" metadata-complete="true"> </web-app>