首页 > 编程语言 >JavaWeb-Maven基础

JavaWeb-Maven基础

时间:2024-03-12 23:58:31浏览次数:24  
标签:JavaWeb 项目 配置 基础 IDEA 如下 Maven 坐标

Maven是专门用于管理和构建Java项目的工具,是 Apache 下的一个纯 Java 开发的开源项目,基于项目对象模型(POM)概念。先来学习一下Maven基础,等后面学完开发框架后再学Maven高级,这次的内容如下
在这里插入图片描述

一、概述

1、简介

Maven是专门用于管理和构建Java项目的工具,主要功能
1)提供了一套标准化的项目结构
在这里插入图片描述

2)提供了一套标准化的构建流程(编译,测试,打包,发布…)
在这里插入图片描述

3)提供了一套依赖管理机制

依赖管理实质:管理项目所依赖的第三方资源(jar包、插件…)

传统方式
1.下载jar包
2.复制jar包到项目
3.将jar包加入工作环境

Maven管理(优点)
1.Maven使用标准的坐标配置来管理各种依赖
2.只需要简单的配置就可以完成依赖管理

在这里插入图片描述

二、Maven安装配置

1、下载Maven安装包并解压

1.1 下载Maven(以下方法二选一)

1)通过官网下载:https://maven.apache.org/download.cgi
在这里插入图片描述

2)为了方便,我这里提供了网盘
链接:https://pan.baidu.com/s/1yZgxWz29vNsx-dg4yZrQWw?pwd=w7xk
提取码:w7xk

1.2 解压并查看目录

下载完成后,找到压缩包,选择要解压的盘符(如我的是D盘),右键选择解压到当前文件夹即可。

注:最好解压到一个不含中文和空格的路径下

打开文件夹,目录结构及相关说明如下
在这里插入图片描述

2、配置Maven环境变量

1)找到环境变量并作如下配置
如我的是(右键此电脑->属性->高级系统设置->环境变量)
在这里插入图片描述

2)将MAVEN_HOME 添加到Path系统变量
在系统变量里找到 Path并选中,点击编辑->新建,添加如下
在这里插入图片描述

3)检测是否配置成功
win+R 打开命令提示符,输入mvn -v,出现如下则说明环境变量配置成功
在这里插入图片描述

3、配置本地仓库

由于Maven默认的远程仓库在国外, 导致下载jar包时速度非常慢, 推荐使用国内的阿里云仓库,可提高访问和下载速度。若不配置,则本地仓库默认的路径如下(我的是C:\Users\ASUS\.m2)
在这里插入图片描述

1)首先在maven目录下新建一个 mvn_resp作为本地仓库,并复制该目录路径(D:\apache-maven-3.6.3\mvn_resp)
在这里插入图片描述

2)修改conf/settings.xml中的<localRepository>为一个指定目录,如下
在这里插入图片描述

4、配置阿里云私服

修改conf/settings.xml中的标签,为其添加如下子标签,完成后ctrl+s保存退出

<mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>
        http://maven.aliyun.com/nexus/content/groups/public/
    </url>
    <mirrorOf>central</mirrorOf>        
</mirror>

在这里插入图片描述

完成上述步骤后,maven就安装配置完成,接下来就可以在IDEA中创建Maven项目了。

三、IDEA中创建Maven项目

1、IDEA配置Maven

创建Maven项目前需要先配置Maven。
1)IDEA中 选择File --> Settings --> 搜素maven,如下
在这里插入图片描述

2)修改默认配置配置,设置IDEA使用本地安装的Maven,并修改配置文件路径,如下
在这里插入图片描述

配置好后点击Apply应用,然后OK即可。

2、创建Maven项目

1)创建模块(File->New->Module),选择Maven,点击Next
在这里插入图片描述

2)填写模块名称,坐标信息,点击finish,创建完成
在这里插入图片描述

如这是我填写的
在这里插入图片描述

创建完成后的目录结构如下
在这里插入图片描述

注:目录下没有webapp,因为目前创建的是java项目而非web项目,等后面学到web核心时会讲

3)编写HelloWorld,并运行
在这里插入图片描述

四、IDEA导入Maven项目

一般企业的项目都是由团队合作共同开发的,所以一些时候可能需要我们导入其他成员写好的Maven项目到我们的工程里,步骤如下,非常简单。
1)选择右侧Maven面板,点击+号
在这里插入图片描述

2)选中对应项目的pom.xml文件,双击即可

注:如果没有Maven面板,选择 View → Appearance > Tool Window Bars

五、Maven基本使用

1、Maven坐标

1)Maven 中的坐标是资源的唯一标识
2)使用坐标来定义项目或引入项目中需要的依赖

2、Maven坐标主要组成

groupld
- 定义当前Maven项目隶属组织名称(通常是域名反写,例如: com.itweb)
artifactld
- 定义当前Maven项目名称(通常是模块名称,例如order-service、goods-service)
version
- 定义当前项目版本号

3、Maven常用命令

Maven主要有以下常用命令,其功能即对应的英文意思,非常好理解,可以自己动手每一个命令都去试试。

compile 编译
clean 清理
test 测试
package 打包
install 安装

如下是装了Maven Helper插件后,能够非常方便地查看和运行命令。具体的插件安装流程不过多赘述。
在这里插入图片描述

六、Maven生命周期

Maven构建项目生命周期描述的是一次构建过程经历了多少个事件,对项目构建的生命周期划分为3套。
1)clean生命周期(清理工作)

clean:删除目标目录中的编译输出文件。

2)default生命周期(核心工作)

如编译compile,测试test,打包package,安装install等

3)site生命周期(产生报告,发布站点等)

site:生成项目文档和站点信息。

deploy-site:将生成的站点信息发布到远程服务器,以便共享项目文档。

注:同一生命周期内,执行后边的命令,前边的所有命令会自动执行

七、依赖管理 & 依赖范围

1、使用坐标导入jar包

步骤如下,IDEA非常智能,输入半边就会识别补全。
1)在pom.xml中编写标签
2)在标签中使用引入坐标
3)定义坐标的groupId,artifactId,version
4)点击刷新按钮,使坐标生效。
在这里插入图片描述

2、快捷键方式

在pom.xml中按alt + insert,选择Dependency,在弹出的面板中搜索对应坐标,然后双击选中对应坐标,点击刷新按钮,使坐标生效。

此种方式通过IDEA提供的模版,非常方便快捷,实现高效开发。

3、自动导入

每次坐标添加完成后,可以手动刷新使坐标生效。当然,还可以配置自动导入,即添加完成后不用手动刷新就能生效。步骤如下
1)选择IDEA中 File --> Settings
2)在弹出的面板中找到Build Tools
3)选择Any changes,点击ok 即可生效。
在这里插入图片描述

4、依赖范围(了解)

通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围,如

编译环境(Maven项目下对应的java目录)
测试环境(Maven项目下对应的test目录)
运行环境(导入jar包后运行时有效)

在这里插入图片描述

注:scope默认值为compile

标签:JavaWeb,项目,配置,基础,IDEA,如下,Maven,坐标
From: https://blog.csdn.net/qq_56999608/article/details/136546634

相关文章

  • 网络开发基础第一季 总结和注意
    在结尾的时候 在网络传信息的时候需要注意几个问题第一个就是粘包和半包 所有我们需要在前面再加2个作为信息的长度信息判断是否有输入完整第二个就是大小端的问题 需要再代码里面进行判断 这台机器是大端还是小端然后取反第三个就是解决发送不完整  ......
  • java八股——java基础(1)
    一点关于java基础概念的学习笔记,如果有不对的地方欢迎指正,谢谢!面向对象的三大特性封装:封装是面向对象的核心思想,它涉及将对象的属性和行为封装在一个不可分的系统单位中,尽可能隐藏对象的内部细节。这种封装使得对象具有独立性,仅通过受保护的接口与外界交互,从而提高了数据......
  • 三.pandas基础
    目录一:认识pandas1.1pandas的优势1.2下载安装二:Series数据结构(一维)2.1创建Series创建series对象(一维)ndarray创建Series对象“显式索引”的方法定义索引标签dict创建Series对象(通过字典创建)标量创建Series对象2.2访问Series位置索引访问索引标签访问2.3......
  • Java基础,你面试可能会问到的各类问题
    Java八种基本数据类型定义相应的包装类:基本数据类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublebooleanBooleancharCharacter命名规范1、项目名全部小写.2、包名全部小写.3、类名首字母大写,多个单词情况下使用驼峰命名规则.4、变量名,方法名......
  • Android Framework基础知识
    哈喽大家好,我是Zzz.给大家分享一篇Framework入门的基础知识文章,内容纯纯原创。一、Application,Activity和进程的关系?  Application、Activity只是进程虚拟机运行的一个类对象,只是属于系统的一个组件和进程没有直接联系。Android支持为每个组件可以单独进程方式运行。 ......
  • Django基础知识点一
    Django基础知识点【零】补充方法【1】Django项目测试if__name__=='__main__':importosimportdjangoos.environ.setdefault('DJANGO_SETTINGS_MODULE','BookSystem.settings')django.setup()'''测试代码''......
  • GDPU JavaWeb JSP基础
    正式走进Javaweb大门,了解jsp及Java在前端的体现。JSP JSP,JavaServerPages是一种基于Java技术的服务器端动态网页技术,允许开发人员在HTML页面中嵌入Java代码。通过JSP,开发人员可以创建包含静态模板和动态内容的网页。当客户端请求一个包含JSP的网页时,服务器会执行其中的J......
  • 计算机三级网络技术之IP地址规划技术与路由设计技术基础 笔记
    IP地址规划技术NAT的工作原理:当内部网络的一个专用地址需要访问外网时,NAT将其转换为Internet上唯一的外部公用地址+端口号。而当外部网络响应这个访问请求时只能是响应给外部公用IP地址+端口号,此时NAT技术再将外部公用地址+端口号转换为内部地址+端口号以成功访问。IPv6......
  • linuxOPS基础_Linux系统的文件目录结构及用途
    linux系统文件目录结构Linux系统不同于Windows,没有C盘、D盘、E盘那么多的盘符,只有一个根目录(/),所有的文件(资源)都存储在以根目录(/)为树根的树形目录结构中。在Linux根目录(/)下包含很多的子目录,称为一级目录。​例如bin、boot、dev等。​同时,各一级目录下还含有......
  • 超详细的Numpy基础教程!!!
    Numpy是一个开源的Python库,用于支持大型多维数组和矩阵运算,同时提供了大量的数学函数库。它是科学计算中非常重要的工具。Numpy在数据科学中非常重要,因为它提供了高效的数组处理能力和广泛的数学函数库,这对于处理大规模数据集、进行科学计算和机器学习等任务至关重要。一、安......