Maven 基础知识总结笔记 (一)

CODESYS EtherCAT通讯断了怎么办?手把手教你用ST语言写状态监测程序(附完整代码) 本文详细解析了CODESYS平台下EtherCAT通讯中断的故障排查与恢复方法,通过ST语言编写状态监测程序实现链路监测、故障隔离和伺服恢复。文章包含完整代码示例,帮助工程师快速诊断EtherCAT网络问题,提升工业自动化设备的运行稳定性。 阅读详情

java目录:存放Java源文件。

resources目录:存放框架或其他工具的配置文件。**

在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/3134b64c2ca4414b8bd3791a570ba15c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASVRfSG9sbWVz,size_9,color_FFFFFF,t_70,g_se, 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 x_16)


为什么要遵守约定的目录结构呢?

Maven要负责我们这个项目的自动化构建,以编译为例,Maven要想自动进行编译,那么它必须知道Java源文件保存在哪里,换句话说就是一个固定格式而已。

在这里插入图片描述

[](()5. 关于Maven联网的问题

=============================================================================


Maven关于联网的问题:(Maven的执行过程)

1.Maven的核心程序中仅仅定义了抽象的生命周期,但是具体的工作必须由特定的插件来完成。而插件本身并不包含在Maven的核心程序中。

2.当我们执行的Maven命令需要用到某些插件时,Maven核心程序会首先到本地仓库中查找。

3.本地仓库的默认位置: 当前用户系统的家目录.m2\repository

4.Maven核心程序如果在本地仓库中找不到需要的插件,那么它会自动连接外网,到中央仓库下载。

5.如果此时无法连接外网,则构建失败。


如何修改默认本地仓库的位置?

默认的仓库位置是c:\Users\当前用户.m2\repository路径

  • 首先,打开 Maven解压目录\conf\setting.xml文件。

  • 找到localRepository标签。

在这里插入图片描述

  • 然后配置好自己的路径就好了。

[](()6. Maven POM

==========================================================================


POM,全称Project Object Model 项目对象模型。

其实,有点像之前比较熟悉的DOM,全称 :Document Object Model 文档对象模型。


pom.xml 是Maven工程的核心配置文件,与构建过程相关的一切设置都在这个文件中进行配置。

[](()7. Maven 坐标

=========================================================================

比较一下数学中坐标和Maven的坐标:


数学中的坐标:

**在平面上,使用X,Y两个向量可以唯一的定位平面中的任何一个点。

在空间上,使用X,Y,Z三个向量可以唯一的定位空间中的任何一个点。**


Maven的坐标:

使用下面三个向量在仓库中唯一定位一个Maven工程。

1.groupid:公司或组织域名倒序+项目名。

com.demo.maven

2.artifactid:模块名称。

model_name

3.version:版本

1.0.0.RELEASE

所以上面也统称为Maven的gav,也就是坐标。

而这个坐标的作用就是可以映射出我们想要的jar位置在本机的哪里!

就比如上面的内容,对应的目录如下:

com/demo/maven/model_name/1.0.0.RELEASE/model_name-1.0.0.RELEASE.jar

格式就是这样来的,记住就行。

[](()8. Maven 仓库

=========================================================================


Maven的仓库有两个:

  • 本地仓库:当前电脑上部署的仓库目录,为当前电脑上所有Maven工程服务。

  • 远程仓库有三种:

1.私服: 搭建在局域网环境中,为局域网范围内的所有Maven工程提供服务。Nexus私服是类似于Tomcat一样,它也算是解决连接外网下载Maven的一种方式。

在这里插入图片描述

2.中央仓库:架设在Internet互联网上,为全世界所有Maven工程服务。

3.中央仓库镜像: 就是为了分担中央仓库的流量,提升用户访问速度。


仓库中保存的内容:

  • Maven自身所需要的插件。

  • 第三方框架或工具的jar包。

  • 我们自己开发的Maven工程。

[](()10. Maven 命令构建过程

==============================================================================


执行与构建过程相关的Maven命令,必须进入pom.xml所在的目录。与构建过程相关:编译,测试,打包…

常用命令:

  • mvn clean:清理编译后的东西(例如:Target目录)。

  • mvn compile:编译主程序。

  • mvn test-compile: 编译测试程序。

  • mvn test: 执行测试。

  • mvn package: 打包。

需要注意,我们执行命令需要在pom.xml所在的目录下执行。

不同的命令会产生对应的不同文件要注意!


我们使用mvn compile之后,会生成一个target文件,里面还会有两个文件:

在这里插入图片描述


一个是存储生成的字节码,一个是存储maven的状态文件(不确定)。

之后我们使用mvn test 测试时,还会在target文件中生成另外两个文件:

在这里插入图片描述


一个是存储报告的文件,一个是存储测试的字节码文件。

再然后我们执行mvn package来进行打包,这个是后target文件还会生成两个文件:

在这里插入图片描述

其中jar包中就包含了程序的字节码。

需要注意,上面是有先后顺序的,必须编译后,测试,测试后才能打包!


在让后,我们使用mvn install 命令将我们打包好的东西放到仓库中。

在这里插入图片描述

我们之前groupid定义的路径就是我们放置仓库的路径,也和mvn的坐标gav对应起来。

[](()11. 使用Maven插件来创建工程(了解,一般用不上)

==========================================================================================


在这里插入图片描述

像通过上面的命令来操作的直接通过cmd命令创建工程。

在这里插入图片描述

[](()12.使用idea来创建Maven工程

================================================================================


首先,我们先进入setting =》搜索maven,设置好maven路径和maven的setting.xml配置文件,再配置好本地仓库路径。

在这里插入图片描述


上面配置好了,我们就可以通过idea来创建。

第一步:点击右上角的符号来创建。

在这里插入图片描述

第二步:创建一个maven项目。

在这里插入图片描述

第三步:设定好名字和坐标!

在这里插入图片描述

第四步:设定结构,对应的结构要设定好!

在这里插入图片描述

在这里插入图片描述

这样一个标椎的maven工程就创建出来了。


我们之前mvn命令对应的在idea中也有:

在这里插入图片描述

直接双击就运行对应的命令。


maven的debug运行如何设置呢?

首先,点击edit Configurations…

在这里插入图片描述

然后添加一个maven:

在这里插入图片描述

之后我们就可以debug,打断点来调试测试了:

在这里插入图片描述

[](()13. Maven 使用idea的模板(骨架)创建项目

=========================================================================================


在这里插入图片描述

[](()13.1 使用模板(骨架)创建java项目



在这里插入图片描述

就是在创建的时候记得添加archetype中的quickstart。创建后可能缺少一些结构什么resource目录,可以自行添加并且声明文件类型。。

[](()13.2 使用模板(骨架)创建web项目



同样,web项目就要添加webapp骨架。

在这里插入图片描述

也是缺少一些结构需要自己添加并且声明文件类型。

[](()14. Maven tomcat插件安装与web启动

========================================================================================


通过maven来安装tomcat插件,步骤如下:

第一步:创建一个webapp工程,设定好结构等等。

在这里插入图片描述

第二步:配置pom.xml文件如下:(重点看build中的插件内容)

<?xml version="1.0" encoding="UTF-8"?>

4.0.0

war

WebAppTest01

com.test

WebAppTest01

1.0-SNAPSHOT

org.apache.tomcat.maven

tomcat7-maven-plugin

2.1

第三步:配置好后因为要加载插件等操作需要时间不要着急,加载完成后,打开右侧Maven项目,刷新一下,我们可以看到一个tomcat插件已经存进来了,直接双击run就可以运行tomcat了。

在这里插入图片描述

run运行后,当前项目就可以在上面运行了,并且会告诉你访问地址。

在这里插入图片描述


除了使用tomcat插件我们还可以配置tomcat插件:

<?xml version="1.0" encoding="UTF-8"?>

4.0.0

war

WebAppTest01

com.test

WebAppTest01

1.0-SNAPSHOT

org.apache.tomcat.maven

tomcat7-maven-plugin

2.1

9090

/


如果嫌弃一直点击run麻烦,我们也可以在页面再添加一个maven执行命令。

在这里插入图片描述

当然一般这种情况是用来debug的。


下面介绍一下pom.xml常用的配置的说明:

<?xml version="1.0" encoding="UTF-8"?>

4.0.0

war

WebAppTest01

com.test

WebAppTest01

1.0-SNAPSHOT

org.apache.tomcat.maven

tomcat7-maven-plugin

2.1

9090

/

电压比较器---滞回比较器(施密特触发器) 当输入电压从小电压开始增加,当其大于VT+时,电压比较器输出低电平,此时阈值电压变成下门限电压(VT-);当输入电压从大电压开始减小,当其小于VT-时,电压比较器输出高电平,此时阈值电压变成上门限电压(VT+);只有当第一次超过上门限电压或者下门限电压值,电压比较器的输出才会翻转变化;Uo为比较输出电压,有两种电压状态VoH(高电平)和VoL(低电平);当Uo输出为高时,电压比较器的阈值电压是上门限电压(VT+);当Uo输出为低时,电压比较器的阈值电压是下门限电压(VT-);Vref为比较参考电压; 阅读详情

相关推荐

Codex接入CCSwitch:本地代理与模型路由配置指南

在AI编程工具链中,本地代理与模型路由是连接智能体与模型服务的核心桥梁。Codex作为OpenAI推出的编程智能体,虽然具备强大的仓库理解和自主编码能力,但其默认模型链路固定,导致在多模型切换、内网统一管理及成本控制上存在天然瓶颈。CCSwitch正是为解决这一痛点而生的本地代理工具,它通过OpenAI兼容协议将Codex的请求透明转发至DeepSeek、通义千问等第三方模型服务,使模型切换如同点击按钮般简单。本文从本地代理和模型路由器的基础原理切入,系统讲解Codex与CCSwitch的安装配置、模型ID

weixin_33910460的博客 427

不联网情况下,使用 IDEA 或者 eclipse 通过 maven、maven本地仓库搭建springboot项目

不联网情况下,通过 IDEA 或者 eclipse 通过 maven、maven本地仓库搭建springboot项目

time61的博客 4863

105. replace( )函数

【目录】

weixin_63986098的博客 1万+

maven在无互联网(内网)环境下打包

Maven内网环境下打包

chun的博客 4449

单片机笔记十二:华大HC32L136超低功耗设计实战

本文详细介绍了华大HC32L136单片机的超低功耗设计实战,包括深度睡眠模式下仅0.5μA的电流消耗、五种功耗模式的对比与配置、外设使用技巧及硬件级优化方法。通过实际项目案例,展示了如何利用ARM Cortex-M0+内核的HC32L136显著延长电池寿命,适用于智能门锁、额温枪等低功耗设备。

weixin_29189373的博客 393

基于BERTopic模型的英文20新闻数据集主题聚类及可视化

BERTopic是基于深度学习的一种主题建模方法。BERT是一种用于NLP的预训练策略,它成功地利用了句子的深层语义信息。

Cachel Wood的博客 1460

如何在没有联网的情况下使用maven本地仓库进行开发

如何在没有联网的情况下使用maven本地仓库进行开发

m0_44968817的博客 2293

MATLAB与图像处理(一):图像中结构张量的求法(Structure Tensor)

1.结构张量的作用:       能够区分图像中的平坦区域,边缘,角点; 2.图像中的结构张量的定义    1)是一个矩阵;    2)与图像的水平,垂直梯度有关,定义如下: 在MATLAB中,可以用如下语句求解:[Ix,Iy]=gradient(Image); 3)求出结构张量矩阵的行列式,和迹(矩阵对角线之和)   行列式:K=det(E);   迹:  

wenyusuran的专栏 5240

不联网,idea 只访问本地maven仓库

idea 只访问本地maven仓库中的依赖

一夜飘零 1万+

YOLOv8交通监控全方案:精准车辆计数+违章(闯红灯/压线)识别,拿来就落地!

作为深耕计算机视觉落地的开发者,我见过太多交通监控的“伪智能”——传统系统要么车辆计数不准(漏计/重复计数),要么违章识别滞后(靠人工回看录像),甚至连“闯红灯、压线”这类常见违章都无法实时判定,完全满足不了实际交通管理需求。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 646

基于ESP32 蓝牙游戏手柄设计

介绍使用 ESP32 并通过 BLE 通信的 设计手持游戏手柄,包含原理图与代码

DT程序员的博客 2164

maven离线模式及设置

Q:什么时候需要maven离线模式? A:没有网络,只有本地库,又是用maven来管理项目,在编译或者下载第三方Jar的时候,老是去中央仓库上自动下载,导致出问题

sxp知识共享 8103

C# MES通信从入门到精通(1)——串口传输文件

本文详细介绍了在Mes通信领域如何使用串口发送文件,由实战经验总结,堪称MES通信领域的葵花宝典!

qq_34059233的博客 3749

maven 基础知识总结

maven 基础知识总结 这里记录 maven 的基础知识,一方面巩固自己学到的知识,另一方面希望可以对有同样困惑的小伙伴提供一些帮助。 一. maven 简介 Maven 是一个项目管理工具,它包含了一个项目对象模型POM (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System)和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 当你

Honins的博客 1322

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Maven基础知识

Maven基础知识Maven基础概念仓库小节坐标小节仓库配置(settings.xml)全局Setting与用户setting区别小节第一个Maven项目(手工制作)小节第一个Maven项目(IDEA生成)小节tomcat插件安装与web工程启动依赖管理依赖配置依赖传递依赖传递冲突问题可选依赖排除依赖小节依赖范围小节生命周期与插件项目构建生命周期小节 Maven基础概念 仓库 仓库:用于存储资源,包含各种jar包 中间环节添加一个私服,用来避免多人同时调取同一个资源,国外仓库的传输速度过慢且二次传输的问

qq_37509948的博客 2万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Maven学习笔记(一)

一、Maven概述 Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤(摘自维基百科)。Maven的安装就不在这里赘述了,并不复杂,在网上可以找到很多现成的材料,主要记录一些我学习Maven时的笔记。 二、Maven的目录结构 详细的

记录只为更好地前行 1674

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

maven(一) 基础知识

文章目录maven介绍生命周期snapshot版本和release版本的区别maven仓库 maven介绍 Maven 翻译为&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;专家&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概

学习 845

maven基础知识

含义:“专家”“内行”,跨平台项目管理工具,主要服务于 Java 项目,核心功能包括项目构建依赖管理项目信息管理。理想项目构建:高度自动化、跨平台、可重用组件、标准化。依赖管理:自动下载第三方 Jar 包,统一管理项目依赖(如 A1.0 依赖 B2.0,B2.0 依赖 C3.0),也可管理自身开发模块。项目信息:项目名称 / 描述、开发人员信息、开发者信息等。

2503_92804185的博客 769

Maven基础知识学习笔记

这篇文章主要是对maven的一个基础认识,主要涵盖以下几个方面:(1)maven的功能的简单介绍;(2)电脑上如何进行maven环境的配置;(3)maven的基础使用;(4 IDEA中如何配置maven

m0_74890428的博客 535

Maven笔记(一):基础使用【记录】

Maven是一款自动化构建工具,专注服务于Java平台的项目构建和依赖管理。它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。

LiuCJ_20000的博客 830

Maven学习笔记一:Maven学习理解、安装和Eclipse中的配置

文章目录1. Maven学习笔记一:Maven学习理解、安装和Eclipse中的配置1.1. Maven的理解1.2. Maven安装与配置1.3. 创建第一个Maven项目HelloWorld 1. Maven学习笔记一:Maven学习理解、安装和Eclipse中的配置 1.1. Maven的理解 Maven是Apache下的一个纯java开源项目,并且只是用来管理java项目的。 Maven...

公子&小白的博客 569

【maven】maven基础知识总结

1._传统项目开发存在的问题 一个项目做成一个工程,造成工程比较庞大,需要使用多模块来划分项目; 项目中需要的数量众多的Jar包,需要手动下载并引入,并且多个项目需要的Jar包存在重复的问题; 项目中需要的Jar包有版本兼容的问题, 需要手动解决; 项目中需要的War包又依赖其它的War包,需要手动解决。 为了解决上述问题,我们引入Maven(读音['meɪv(ə)n]或['mevn] )。 maven环境搭建及其使用 2._ Maven简介 Maven是Apache软件基金会组织维护的一款自动化

咖啡味的小认真 453

Maven学习笔记(一)

一,Maven的定义         Maven是一个项目管理工具,包含了一个项目对象模型(POM),一组标准集合,一个项目生命周期,一个依赖管理系统,和用来运行定义在生命周期阶段中插件目标的逻辑。 二,约定优于配置    Maven遵循约定优于配置的原则。    所谓约定优于配置,是指Maven虽然支持配置方式,但是有配置好的默认值,比如使用约定好的目录结构等。 三,M

空默寒的博客-学习和积累 370
上一篇: MATLAB中给图像加高斯噪声时imnoise的方差参数问题
下一篇: MyBatis~基于SqlSession的一级缓存和基于namespace的二级缓存
java100001
博客等级 码龄5年 4粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值