5.Maven
简介:
-
在JavaWeb开发中,需要使用大量 的jar包,我们手动去导入;
-
如何能够让一个东西自动帮我导入和配置这个jar包,
因此,Maven诞生了!
5.1、Maven架构管理工具
目前就是用来方便导入jar包的!
Maven的核心思想:约定大于配置
- 有约束,就不要去违法
Maven会规定好你该如何去编写Java代码,必须要按照这个规范来
5.2、下载按照Maven
官网:https://maven.apache.org/download.cgi

第二个 zip
5.3、配置环境变量
配置如下(版本有点高,在高于3.6.1就会在下面几个步骤出错,存在识别不出来的问题)
- M2_HOME maven目录下的bin目录 ,如: D:\Server\maven\apache-maven-3.8.1\bin
- MAVEN_HOME maven的目录 如: D:\Server\maven\apache-maven-3.8.1
- path 加一个配置 %MAVEN_HOME%\bin;

测试Maven是否安装成功,保证配置完毕。
5.4、阿里云镜像
- 镜像:mirrors
- 作用:加速我们的下载
- 国内建议使用阿里云镜像
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
5.5、本地仓库
在本地的仓库,远程仓库;
见一个本地的仓库:localRepository
<localRepository>D:\Server\maven\apache-maven-3.8.1\maven-repo</localRepository>

5.6、在IDEA中使用Maven


1.完事之后finish就好
2.正常来说配置成功后会出现,但是下图是引用狂神的截图,他的是2019版的idea,2020年版的idea已经没有自动导入选项了

就成了下面这种

3.可以看到本地仓库文件夹下是否有多什么东西?2020版的因为没有自动下载,所以还是没有东西
4.IDEA中的Maven设置
注意:IDEA项目创建成功后

5.到这里IDAE配置的和使用就OK了!
5.7、创建一个普通的Maven项目
直接new project


而回到5.6配置的那个web maven项目,可以看到下面这只有web项目才会有

5.8、在IDEA中标记文件夹
在main下新建一个java和resources文件夹
—标记方式1

—标记方式2

5.9、在IDEA中配置Tomcat
首先


这里如果找不到Tomcat,就去File—settings—plugins,搜一个tomcat server插件下载,再执行
注意不要下载成mart Tomcat,如果你是IDEA社区版,就没有Tomcatserver,需要去下载开发者版本



OK,就配置完成了

5.10、Pom文件
注:pom.xml 是Maven的核心配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!--Maven版本和头文件-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--这里就是我们刚才配置的GAV-->
<groupId>com.chen</groupId>
<artifactId>javaweb-01-maven</artifactId>
<version>1.0-SNAPSHOT</version>
<!--Package:项目的打包方式
jar:java应用
war:JavaWeb应用
-->
<packaging>war</packaging>
<name>javaweb-01-maven Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<!--配置-->
<properties>
<!--项目的默认构建编码-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--编码版本-->
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<!--项目依赖-->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<!--项目构建用的东西-->
<build>
<finalName>javaweb-01-maven</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
5.11、解决遇到的问题
每次创建Maven项目都要配置
maven由于它的约定大于配置,我们之后可能遇到我们写的配置文件,无法被导出或者生效的问题
什么意思?
- 在java目录下新建properties
- 在resources目录下新建properties
- 启动tomcat
- 我们发现java和resources都被打包到了同一个路径下:classes,我们俗称这个路径为classpath
- java目录下的properties并没有被打包,resources目录下的properties被打包了,这就是我们说的我们写的配置文件,无法被导出或者生效

解决方案:
<!--在build中配置resources,来防止我们资源导出失败的问题-->
<!--resources下的properties、xml都可以导出-->
<!--java下的properties、xml都可以导出-->
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
————————————————
以上部分直接拿了博主原图,参考视频<遇见狂神说>原文链接:https://blog.csdn.net/Augenstern_QXL/article/details/118443858
本文介绍了Maven作为JavaWeb开发的构建工具,其核心思想是约定大于配置,简化了jar包管理。详细讲解了Maven的下载、环境变量配置、阿里云镜像设置、本地仓库配置以及在IDEA中的使用。还提到了在IDEA中创建Maven项目、标记源代码目录、配置Tomcat,以及Pom.xml文件的结构。此外,针对可能出现的资源配置问题,给出了解决方案。
1408

被折叠的 条评论
为什么被折叠?



