1 Maven介绍
1.1 官网地址
Maven
1.2 Maven是什么
Maven是一种项目管理、依赖管理、项目构建的工具,可以进行自动化构建、测试、打包和发布项目。
-
依赖管理
随着项目引入jar包的增多,我们需要对其进行管理,包括jar包之间的版本依赖管理,这是比较复杂的。
通过Maven,我们可以轻松的解决jar包之间的依赖关系管理问题,极大地减轻工作量。
Maven 可以从仓库中自动下载所需依赖库,并对依赖版本进行管理,处理依赖版本冲突等。 -
构建管理
开发中,一般通过IDE进行项目的构建,如果脱离的IDE,我们可以通过Maven进行项目的构建操作。
项目构建是指将源代码、配置文件、资源文件等打包为可执行应用的过程。Maven 可以通过标准的构建生命周期来管理项目的编译、测试、打包、部署等构建过程。 -
插件
可以通过Maven插件对构建过程进行扩展和定制。
2 Maven安装和配置
2.1 下载
在Maven下载Maven最新的安装包,也可以在history下载历史版本。
2.2 安装
介绍Window版本安装
只需要解压到指定路径即可,新建Maven环境变量MAVEN_HOME,然后配置环境变量Path即可。此时可以在命令行窗口通过mvn -v
查看安装的Maven版本信息。
2.3 配置
安装完成之后,需要对Maven进行一些配置,配置文件为Maven安装路径下conf/settings.xml,主要配置以下内容即可:
- 本地仓库位置
<!-- localRepository| The path to the local repository maven will use to store artifacts.|| Default: ${user.home}/.m2/repository<localRepository>/path/to/local/repo</localRepository>--><localRepository>D:/DevRepository/repo</localRepository>
- 仓库镜像地址
<!--在mirrors标签下配置中央仓库镜像-->
<mirror><id>alirepo</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>
</mirror>
- JDK编译版本
<profile> <id>jdk17</id><activation> <activeByDefault>true</activeByDefault><jdk>17</jdk> </activation><properties> <maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><maven.compiler.compilerVersion>17</maven.compiler.compilerVersion><encoding>UTF-8</encoding></properties>
</profile>
- server配置
如果用了私服,还需要在servers标签下配置server相关信息,如
<servers><server><id>nexus-mine</id><username>giser</username><password>123456</password></server>
</servers>
3 IDEA开发环境配置
在"IntelliJ IDEA-File-Settings-Build,Execution,Deployment-Build Tools-Maven"下:
- 配置Maven home path
C:/DevProgramFiles/Java/apache-maven-3.6.1
- 配置User settings file
C:\DevProgramFiles\Java\apache-maven-3.6.1\conf\settings-jdk17.xml
- 检查Local repository
此时应该为settings.xml文件中已经配置的本地仓库位置,如
D:\DevRepository\repo
4 Maven目录介绍
bin:Maven运行脚本
boot:含有plexus-classworlds类加载器框架
conf:含有Maven的核心配置文件
lib:含有Maven运行时所需要的Java类库
LICENSE、NOTICE、README.txt:针对Maven版本,第三方软件等简要介绍
5 IDEA中创建Maven工程
Maven提供一种标准化的项目结构,可以帮助开发者更容易地管理项目的依赖、构建、测试和发布等任务。
- Web工程结构
- pom.xml:Maven 项目管理文件,用于描述项目的依赖和构建配置等信息。
- src/main/java:存放项目的 Java 源代码。
- src/main/resources:存放项目的资源文件,如配置文件、静态资源等。
- src/main/webapp/WEB-INF:存放 Web 应用的配置文件。
- src/main/webapp/index.jsp:Web 应用的入口页面。
- src/test/java:存放项目的测试代码。
- src/test/resources:存放测试相关的资源文件,如测试配置文件等。
|-- pom.xml # Maven项目管理文件
|-- src|-- main # 项目主要代码| |-- java # Java 源代码目录| | -- com/example/myapp # 开发者代码主目录| | |-- controller # 存放 Controller 层代码的目录| | |-- service # 存放 Service 层代码的目录| | |-- dao # 存放 DAO 层代码的目录| | -- model # 存放数据模型的目录| |-- resources # 资源目录,存放配置文件、静态资源等| | |-- log4j.properties # 日志配置文件| | |-- spring-mybatis.xml # Spring Mybatis 配置文件| | -- static # 存放静态资源的目录| | |-- css # 存放 CSS 文件的目录| | |-- js # 存放 JavaScript 文件的目录| | -- images # 存放图片资源的目录| -- webapp # 存放 WEB 相关配置和资源| |-- WEB-INF # 存放 WEB 应用配置文件| | |-- web.xml # Web 应用的部署描述文件| | -- classes # 存放编译后的 class 文件| -- index.html # Web 应用入口页面-- test # 项目测试代码|-- java # 单元测试目录`-- resources # 测试资源目录