Maven入职学习

news2024/10/7 2:24:58

一、什么是Maven?

概念:

Maven是一种框架。它可以用作依赖管理工具、构建工具。

它可以管理jar包的规模、jar包的来源、jar包之间的依赖关系。

它的用途就是管理规模庞大的jar包,脱离IDE环境执行构建操作。

具体使用:

 工作机制:

学习Maven一定要理解,工程的构建过程:

Maven的作用路径:

二、配置Maven

1.官网下载Maven

注意区分别下错了!

 2.解压就能用

3. 指定本地仓库位置

4.配置阿里云提供的镜像仓库

 

 5.配置Maven工程的基础JDK版本

 6.配置环境变量

有四步:检查JAVA_HOME,看是否配置好了JDK。

检查Maven_HOME,看是否配置好了Maven。

 

 最后,输入mvn -v 进行测试。

三、Maven坐标

就类似于数学中的空间坐标值。X,Y,Z 

基本概念:

 

 

四、Maven创建工程

基本步骤:

 Maven创建工程的命令就是:mvn archetype:generate

创建工程需要指定两个坐标。就是Maven的三个坐标需要手动指定。如下图:

 2.进入到这个工作空间。

解读POM.xml文件:

最主要的还是那个dependence标签。

 

五、Maven的核心概念:POM

基本概念:

Maven的核心就是POM文件。项目对象模型。需要用到Maven的命令进行操作。和之前创建工程的命令类似。后面的命令更加详细。具体实现Maven工程。

实现Maven工程的操作: 

和创建Maven工程不一样。这些命令有:清理操作、编译操作、测试操作、打包操作、安装操作。

注意:一定是创建工程之后!!!然后进入这个工作空间!是工作空间,也就是pom.xml文件所在目录。不是进入pom.xml文件里!

 

 

 

 

 小结:

使用Maven创建工程和使用mvn install命令的区别。

使用Maven创建工程是一开始定义好了工作目录,工作空间。

使用mvn install命令是将自定义的本地jar包导入本地仓库,这样就可以在pom中直接通过dependency的方式来引用。

mvn install命令,用于在git获得别人的开源项目,然后使用这个命令,可以将别人的项目存入自己的本地仓库。如果没有这个命令,好像会无法运行?会出现很多的红色报错。

还有一种解释:就是将自己的项目导入自己的本地仓库。这样在其它项目里就可以直接从自己的本地仓库调用创建好的方法。

六、创建Maven版的web工程

前面使用的方式是创建Java工程。

基本用法:

需要记忆一下命令。不过在IDEA会更加方便。

 

 基本步骤:

有不清楚的地方,建议自己去找百度。

 

 小结:总的步骤就是:使用maven命令创建web工程。然后创建servlet类。在web.xml文件注册servlet类。编写JSP网页。在POM.xml文件配置对servlet类的依赖。将web工程进行打包。最后将war包部署到服务器(Tomcat)上运行。

部署包:将打包好的 war 包放在 tomcat 目录下的 webapps 里。

七、让web工程依赖Java工程

基本概念:

 

基本步骤:

 

由于后面视频有点看不懂了。需要沉淀,实训。停一下。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/842381.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Clickhouse 存储引擎

一、常用存储引擎分类 1.1 ReplacingMergeTree 这个引擎是在 MergeTree 的基础上,添加了”处理重复数据”的功能,该引擎和MergeTree的不同之处在于它会删除具有相同主键的重复项。 特点: 1使用ORDERBY排序键作为判断重复的唯一键 2.数据的去重只会在合并…

复习之selinux的管理

一、什么是selinux? SELinux,Security Enhanced Linux 的缩写,也就是安全强化的 Linux,是由美国国家安全局(NSA)联合其他安全机构(比如 SCC 公司)共同开发的,旨在增强传统 Linux 操…

x光下危险物品/违禁物品目标识别的模型训练与推理代码

前言 1.安检在公共场合的重要性不言而喻,保障群众人身安全是其首要任务。在各种场合,安检都是不可或缺的环节。x光安检机作为安检的重要工具,尽管其具有人工监控判断成像的特性,但是其局限性也十分明显。 为了解决这一局限性为出…

面试题:bind、call、apply 区别?如何实现一个 bind?

面试题:bind、call、apply 区别?如何实现一个 bind? 一、call()代码描述: 二、apply()代码描述: 三、bind()—最重要代码描述: 四、call、apply、bind 总结 一、call() 代码描述: 二、apply() 代码描述&am…

广州VR制作 | 利用VR元宇宙平台开展林地管理培训的优势

在林业领域,实地调查是获取准确数据和深入了解森林生态的重要手段。然而,传统的实地调查方法存在诸多问题,如时间成本高、人力物力投入大、安全风险高等。为了解决这些教学痛点,我们引入了虚拟现实(VR)技术,通过虚拟林…

PO模式在selenium自动化测试框架有什么好处

PO模式是在UI自动化测试过程当中使用非常频繁的一种设计模式,使用这种模式后,可以有效的提升代码的复用能力,并且让自动化测试代码维护起来更加方便。 PO模式的全称叫page object model(POM),有时候叫做 p…

解读百胜中国2023年第二季度财报:聚焦下沉市场,扩店实力几何?

从全网玩梗的“肯德基疯狂星期四”文学,到大小朋友疯狂抢购的六一三丽鸥玩具联名,再到不久前爆火的必胜客原神联名活动,肯德基、必胜客这两大家喻户晓的快餐品牌,被不少新闻调侃为“顶流制造机”。而近日,这两大顶流背…

【c++进阶】--哈希

1.unordered系列关联式容器 在C98中,STL提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到 ,即最差情况下 需要比较红黑树的高度次,当树中的节点非常多时,查询效率也不理想。最好的查询是,进行…

【Linux】五种IO模型

文章目录 1. IO基本概念2. 五种IO模型2.1 五个钓鱼的例子2.2 五种IO模型2.2.1 阻塞IO2.2.2 非阻塞IO2.2.3 信号驱动IO2.2.4 IO多路转接2.2.5 异步IO 1. IO基本概念 认识IO IO就是输入和输出,在冯诺依曼体系结构中,将数据从输入设备拷贝到内存就叫输入&am…

解决MAC M1处理器运行Android protoc时出现的错误

Protobuf是Google开发的一种新的结构化数据存储格式,一般用于结构化数据的序列化,也就是我们常说的数据序列化。这个序列化协议非常轻量级和高效,并且是跨平台的。目前,它支持多种主流语言,比传统的XML、JSON等方法更具…

【数模】主成分分析PCA

主成分分析(Principal Component Analysis,PCA),是一种降维算法,它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关,其能反映出原始数据的大部分信息。使用场景:一般…

详解Quest 2积分与奖励规则

7月28日,在万众期待中,Mysten Labs在Quest门户网站上宣布了Quest 2的到来。经过严密的筹划,本着真实、公平以及用户至上的原则,现在向大家介绍Quest 2的积分规则以及奖励规则。 温馨提示:第一轮Bullshark Quest是一次精…

SpringBoot+Vue实现软件工程课程在线考试系统

博主主页:一季春秋博主简介:专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。主要内容:毕业设计(Java项目、小程序等)、简历模板、学习资料、面试题…

利用appium抓取app中的信息

一、appium简介 二、appium环境安装 三、联调测试环境 四、利用appium自动控制移动设备并提取数据

mysql转sqlite3

在项目中需要将mysql迁移到sqlite3中,此时需要作数据转换 准备工作 下载mysql2sqlite转换工具 https://github.com/dumblob/mysql2sqlite/archive/refs/heads/master.zip 下载sqlite3 https://www.sqlite.org/download.html 转换 命令行中输入如下命令 1、cd …

6.6 实现卷积神经网络LeNet训练并预测手写体数字

模型架构 代码实现 import torch from torch import nn from d2l import torch as d2lnet nn.Sequential(nn.Conv2d(1,6,kernel_size5,padding2),nn.Sigmoid(),#padding2补偿5x5卷积核导致的特征减少。nn.AvgPool2d(kernel_size2,stride2),nn.Conv2d(6,16,kernel_size5),nn.S…

[疑难杂症2023-007]multiprocessing.Process使用时遇到的几个棘手问题

本文由Markdown编辑器编辑完成。 1. 背景 近日,为了解决自己负责的一个组件,在处理大量数据时,由于内存释放不及时,而导致整个组件占用了较高的内存。 这主要是因为目前我们在使用python的一个采用多进程的框架——Celery. 关于…

解决Map修改key的问题

需求 现在返回json数据带有分页的数据,将返回data属性数据变更为content,数据不变,key发生变化 实现1,源数据比较复杂,组装数据比较麻烦 说明:如果使用这种方式完成需求,需要创建对象&#xff0…

搭建简易syslog日志中转服务器

在某种场景下,无法接入日志审计设备,本文提供一种方式,可通过搭建简易日志中转服务器,收集到该环境下的日志后,再将其导入日志审计设备中。 0x1 开启服务 rsyslog守护进程来自于当前的linux发布版本的预装模块&#x…

【vue】vue基础知识

1、插值表达式&属性绑定 <!--template展示给用户&#xff0c;相当于MVVM模式中的V--> <template><div class"first_div">//插值表达式<p>{{ message }}</p>//这里的参数是从父组件的template里传过来的<p>{{data_1}}</p…