Maven 学习、IDEA配置Maven、创建 Maven Web 项目
草木红 2024-09-10 11:33:01 阅读 69
(一) Maven 概述
[1]. 简介
Apache Maven 是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档
官网:http://maven.apache.org/
Maven是专门用于管理和构建Java项目的工具,它的主要功能有:
提供了一套标准化的项目结构:Maven提供了一套标准化的项目结构,所有IDE使用Maven构建的项目结构完全一样,所有IDE创建的Maven项目可以通用
提供了一套标准化的构建流程:编译》测试》打包》发布提供了一套依赖管理机制:依赖管理其实就是管理你项目所依赖的第三方资源 (jar包、插件…)
[2]. Maven 仓库
Maven 中的所需的依赖,可以从三个地方获取:
本地仓库:自己计算机上的一个目录中央仓库:由Maven团队维护的全球唯一的仓库,https://repo1.maven.org/maven2/远程仓库(私服):一般由公司团队搭建的私有仓库(非必要) jar包的查找顺序:本地仓库 》 远程仓库(非必要) 》 中央仓库当本地仓库没有自己需要的 jar 包,从远程仓库或中央仓库下载之后会先放到本地仓库中。
(二) Maven 安装配置
下载 maven: https://maven.apache.org/download.cgi
解压 apache-maven-3.9.6-bin.zip 放到方便找到的位置,既安装完成
配置环境变量 MAVEN_HOME 为 Maven 的放置目录,然后点击确定,然后在 环境变量窗口的 path 中将 Maven 添加到环境变量中,然后依次点击各个窗口的确定按钮。
在 cmd 窗口中输入 <code>mvn -verson,出现如下信息表示配置成功
配置本地仓库:修改 conf/settings.xml 中的 <code><localRepository> 为一个指定目录,如果不配置这个文件,Maven 的默认仓库地址为:C:\Users(或者叫 “用户”)\ 自己的计算机名字.m2\repository
(非必要)配置阿里云私服:修改 conf/settings.xml 中的 标签,为其添加如下子标签:
<code><mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
(三) Maven 基本使用
[1]. Maven 常用命令
compile :编译clean:清理test:测试package:打包install:安装
[2]. Maven 生命周期
Maven 构建项目生命周期描述的是一次构建过程经历经历了多少个事件Maven 对项目构建的生命周期划分为3套
clean:清理工作default:核心工作,例如编译,测试,打包,安装等site:产生报告,发布站点等 同一生命周期内,执行后边的命令,前边的所有命令会自动执行
(四) IDEA 配置 Maven
[1]. IDEA 配置 Maven 环境
使用 IEDEA 创建一个空项目
选择 IDEA中 File --> Settings
搜索 maven ,设置 IDEA 使用本地安装的 Maven,并修改配置文件路径
Maven配置完成
[2]. Maven 坐标详情
什么是坐标?
Maven 中的坐标是资源的唯一标识使用坐标来定义项目或引入项目中需要的依赖 Maven 坐标主要组成
groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.alibaba)artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)version:定义当前项目版本号
[3]. IDEA 创建 Maven 项目
创建一个空项目
创建模块,选择<code>file->Project Structure,然后选择 Modules->New Module
,然后选择选择Maven创建即可
在 <code>maven-demo/src/main/java文件夹下编写 HelloWorld.java 文件,并运行
(五) 依赖管理
[1]. 使用坐标导入 jar 包
比如我想在 <code>maven-demo 项目中引入 mysql 的 jar 包,找到 maven-demo
目录下的 pom.xml 文件
如果之前使用过 mysql 的 jar 包,当在 pom.xml 文件中输入如图的结构,当在<group>标签中输入mysql 字段,将会自动填写<artifactId>标签和<version>标签的内容。然后点击右上角的刷新按钮,将会下载 jar 包
如果之前没有使用给 jar 包,可以在 <code>https://mvnrepository.com/ 网站找到,在这个网站中搜索 mysql
,点击如图所示的位置。
3. 点击你想用的 jar 包版本,点击将进入另一个页面
4. 在新进入的页面中下滑页面,找到如图所示,将其粘到 pom.xml 文件中,然后点击右上角的刷新按钮将会下载对应的jar包
5. jar 包下载成功后,将在Maven中显示出来
[2]. 使用坐标导入 jar 包 – 自动导入
选择 IDEA中 File --> Settings
在弹出的面板中找到 Build Tools
选择 Any changes,点击 ok 即可生效
以后在pom.xml文件中输入坐标后将自动导入对应的jar包
[3]. 使用坐标导入 jar 包 - 快捷方式
如果导入的jar 包是本地仓库有的,可以在 pom.xml 文件中 按 <code>alt + insert,选择 Dependency
在弹出的面板中搜索对应坐标,然后双击选中对应坐标
点击刷新按钮,使坐标生效,如果配置过自动导入就不用刷新了
[4]. 依赖范围
通过设置坐标的依赖范围(scope),可以设置 对应jar包的作用范围:编译环境、测试环境、运行环境默认值:compile
(六) 创建 Maven Web 项目
[1]. Web 项目结构
开发项目通过执行Maven打包命令package,可以获取到部署的Web项目目录编译后的Java字节码文件和resources的资源文件,会被放到WEB-INF下的classes目录下pom.xml中依赖坐标对应的jar包,会被放入WEB-INF下的lib目录下
Maven Web项目结构: 开发中的项目
开发完成部署的Web项目
[2]. 使用骨架创建Maven Web项目
创建Maven项目
等待下面的maven 加载完之后,才会显示 src 目录(这一步可能会很慢,可以找下对应的方案)
在项目的根目录中可以看到pom.xml文件,将文件 <project> 标签中只留红框中的内容,其余的都删掉
<code><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"code>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">code>
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>tomcat-demo1</artifactId>
<!--
packaging: 打包方式
* jar: 默认打包成 jar 包
* war: web项目需要打包成 war 包
-->
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
</project>
补齐Maven Web项目缺失的目录结构:在 <code>src/main 目录下创建 java
目录和 resources
目录
[3]. 不使用骨架创建Maven Web项目
创建Maven项目
在项目根目录的 <code>pom.xml 文件中设置打包方式为war
自动补齐Maven Web项目缺失webapp的目录结构
找到 <code>file》Project Structure
然后找到 <code>Facets, 点击 +
添加 web
选择自己的项目
找到 <code>web resource Directories 创建src/main/webapp
文件夹
找到 <code>Deployment Descriptors 修改其中的路径, 将 web.xml 放入道 webapp 文件夹中
在右下角有一个创建 Artifact 的按钮 点击一下
最终的目录结构
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。