当前位置: 首页 > news >正文

Java进阶 Maven基础

资料格式

  • 配置文件

com.itheima

  • Java代码

Statement stat = con.createStatement();

  • 示例

com.itheima

  • 命令

mvn test

- Maven简介

传统项目管理状态分析
在这里插入图片描述

Maven 是什么

  • Maven的本质是一个项目管理工具,将项目开发过程抽象成一个项目对象模型(POM)
  • POM(Project Object Model):项目对象模型
    请添加图片描述
    Maven的作用
  • 项目构建:提供标准,跨平台的自动化项目构建方式
  • 依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突问题
  • 统一开发结构:提供标准的,统一的项目结构
    在这里插入图片描述
    小节
  • Maven是什么
  • Manen的作用
  • POM

- 下载安装

Maven下载地址

  • 官网:http://maven.apache.org/
  • 下载地址:http://maven.apache.org/download.cgi
    maven安装目录
    在这里插入图片描述

maven类加载器

在这里插入图片描述

maven环境变量配置

  • 依赖Java,需要配置JAVA_HOME
  • 设置maven自身的运行环境,需要配置MAVEN_HOME
    在这里插入图片描述
    在这里插入图片描述
  • 检查maven配置是否成功

在这里插入图片描述

- Maven基础概念(重点)

仓库

  • 仓库:用于存储资源,包含各种jar包
    在这里插入图片描述

  • 仓库分类:
    本地仓库:自己电脑上存储资源的仓库,连接远程仓库获取资源
    远程仓库:非本机电脑上的仓库,为本地仓库提供资源

         中央仓库:Maven团队维护,存储所有资源的仓库私服:部门/公司范围内存储资源的仓库,从中央仓库获取资源
    
  • 私服作用:
    保存具有版权的资源,包含购买或自主研发的iar
    中央仓库中的jar都是开源的,不能存储具有版权的资源
    一定范围内共享资源,仅对内部开放,不对外共享

坐标

  • 什么是坐标?

     Maven中的坐标用于描述仓库中资源的位置https://repo1.maven.org/maven2/
    
  • Maven坐标主要组成

     groupld:定义当前Maven项目隶属组织名称(通常是域名反写,例如:org.mybatis)artifactld:定义当前Maven项目名称(通常是模块名称,例如CRM、SMS)version:定义当前项目版本号~~packaging:定义该项目的打包方式~~ 
    
  • 巨好用的mvn搜索网站

在这里插入图片描述
在这里插入图片描述

小节

  • 坐标的概念与作用

  • 坐标的组成

       组织ID项目ID版本号
    

maven本地仓库搭建

  • Maven启动后,会自动保存下载的资源到本地仓库

    默认位置
    <localRepository>${user.home}/.m2/repository</localRepository>
    当前目录位置为登录用户名所在目录下的.m2文件夹中
    自定义位置
    <localRepository>D:\mavenlrepository</localRepository>
    当前目录位置为D:\mavenrepository文件夹中
    

远程仓库配置

  • Maven默认连接的仓库位置
<repositories><repository><id>central</id><name>Central Repository</name><url>https://repo.maven.apache.org/maven2</ur1><layout>default</layout><snapshots><enabled>false</enabled></snapshots></repository>
</repositories>

镜像仓库配置文件

  • 在settting文件中配置阿里云镜像仓库
    在这里插入图片描述

在这里插入图片描述

全局setting与用户setting区别

全局settting定义了当前计算器中Maven的公共配置
用户settting定义了当前用户的配置
如果局部setting和全局setting不一样,局部会覆盖全局setting

小节

配置本地仓库(资源下到哪)
配置阿里镜像仓库(资源从哪来)
settting文件的区别

- 第一个Maven项目(手工制作)(重点)

在这里插入图片描述

  • 在java目录下创建一个Demo文件,打印一句
    在这里插入图片描述
  • 在test文件夹下创建测试文件,判断返回值是否正确
    在这里插入图片描述
  • 在src目录下添加pom文件(在bin目录查找)
    在这里插入图片描述

Maven项目构建命令

  • Maven构建命令使用mvn开头,后面添加功能参数,可以一次执行多个命令,使用空格分隔

    mvn compile              #编译
    mvnea                    #清理
    mvn test                 #测试
    mvnackage                #打包
    mvn install              #安装到本地仓库
    

- 第一个Maven项目(IDEA生成)(重点)

配置Maven

  • IDEA对3.6.2及以上版本存在兼容性问题,为避免冲突,ldea忠安装使用3.6.1版本

在这里插入图片描述

创建一个空的工程

在这里插入图片描述

test运行一个程序

在这里插入图片描述

tomcat插件安装

在这里插入图片描述

- 依赖管理(重点)

依赖配置与依赖传递

  • 依赖具有传递性

    直接依赖:在当前项目中通过依赖配置建立的依赖关系
    间接依赖:被资源的资源如果依赖其他资源,当前项目间接依赖其他资源
    

在这里插入图片描述

可选依赖
可选依赖指对外隐藏当前所有依赖资源–不透明

<dependency><groupId>junit</groupId>      	<artifactId>junit</artifactId><version>4.12</version><optional>true</optional>
</dependency>

排除依赖

  • 排除依赖指主动断开依赖的资源,被排除的资源无需指定版本–不需要
<dependengy><groupIdsjunit</groupId><artifactId>junit</artifactId>		<version>4.12</version><exclusions><exclusion><groupId>org.hamcrest</groupId><artifactId>hamcrest-core</artifactId></exclusion></exclusions>
</dependency>

依赖管理

  • 依赖范围

    依赖的jar默认情况可以在任何地方使用,可以通过scope标签设定其作用范围
    
  • 作用范围

    主程序范围有效(main文件夹范围内)
    测试程序范围有效(test文件夹范围内)
    是否参与打包(package指令范围内)
    

- 生命周期与插件

构建生命周期

  • Maven对项目构建的生命周期划分为3套

    clean:清理工作
    default:核心工作,例如编译,测试,打包,部署等
    site:产生报告,发布站点等
    

插件

 插件与生命周期内的阶段绑定,在执行到对应生命周期时执行对应的插件功默认maven在各个生命周期上绑定有预设的功能通过插件可以自定义其他功能

相关文章:

Java进阶 Maven基础

资料格式 配置文件 com.itheima Java代码 Statement stat con.createStatement(); 示例 com.itheima 命令 mvn test - Maven简介 传统项目管理状态分析 Maven 是什么 Maven的本质是一个项目管理工具&#xff0c;将项目开发过程抽象成一个项目对象模型&#xff08;POM&…...

Spring Boot(六十八):SpringBoot 整合Apache tika 实现文档内容解析

1 Apache Tika 介绍 Apache Tika 是一个开源的内容检测和分析框架,由Apache软件基金会开发和维护的顶级项目。它可以从各种格式的文件中提取元数据和文本内容。Tika非常适合处理全文搜索、内容分析、翻译、内容提取等需要大量处理和分析文档内容的任务。Apache Tika提供了多种…...

jQuery+CSS3自动轮播焦点图特效源码

jQueryCSS3自动轮播焦点图特效源码&#xff0c;源码由HTMLCSSJS组成&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面 下载地址 jQueryCSS3自动轮播焦点图特效源码...

面试经典150题(114-118)

leetcode 150道题 计划花两个月时候刷完之未完成后转&#xff0c;今天完成了5道(114-118)150 gap 了一周&#xff0c;以后就不记录时间了。。 114.(70. 爬楼梯) 题目描述&#xff1a; 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不…...

HTML表单标签详解:如何用HTML标签打造互动网页?

在互联网的世界中&#xff0c;表单是用户与网站进行互动的重要桥梁。无论是注册新账号、提交反馈、还是在线购物&#xff0c;表单都扮演着至关重要的角色。在网页中&#xff0c;我们需要跟用户进行交互&#xff0c;收集用户资料&#xff0c;此时就需要用到表单标签。 HTML提供…...

Web 服务器-Tomcat

文章目录 Web服务器一、Tomcat简介二、基本使用三、在IDEA中创建Maven Web项目四、在IDEA中使用Tomcat Web服务器 一、Tomcat简介 二、基本使用 三、在IDEA中创建Maven Web项目 四、在IDEA中使用Tomcat...

(德迅零域)微隔离安全平台是什么,有什么作用?

网络隔离并不是新的概念&#xff0c;而微隔离技术&#xff08;Micro-Segmentation&#xff09;是VMware在应对虚拟化隔离技术时提出来的&#xff0c;但真正让微隔离备受大家关注是从2016年起连续3年微隔离技术都进入Gartner年度安全技术榜单开始。在2016年的Gartner安全与风险管…...

这些问题,每年软考报名时都有人问

​​软考报名实行网上在线报名的方式&#xff0c;每次在报名期间&#xff0c;考生都会遇到各种各样的问题&#xff0c;本文挑选了一些大家问的比较多的问题进行了解答&#xff0c;希望对大家有所帮助。 1、软考报名资格审核要审核多久&#xff1f; 一般来说审核时间在3个工作…...

JavaScript爬虫进阶攻略:从网页采集到数据可视化

在当今数字化世界中&#xff0c;数据是至关重要的资产&#xff0c;而网页则是一个巨大的数据源。JavaScript作为一种强大的前端编程语言&#xff0c;不仅能够为网页增添交互性&#xff0c;还可以用于网页爬取和数据处理。本文将带你深入探索JavaScript爬虫技术的进阶应用&#…...

MATLAB教程

目录 前言一、MATLAB基本操作1.1 界面简介1.2 搜索路径1.3 交互式命令操作1.4 帮助系统 二、MATLAB语言基础2.1 数据类型2.2 MATLAB运算2.2.1 算数运算2.2.2 关系运算2.2.3 逻辑运算 2.3 常用内部函数2.4 结构数据与单元数据 三、MATLAB程序设计3.1 M文件3.2 函数文件3.3 程序控…...

爱恩斯坦棋小游戏使用C语言+ege/easyx实现

目录 1、游戏介绍和规则 2、需要用到的头文件 3、这里我也配上一个ege和easyx的下载链接吧&#xff0c;应该下一个就可以 4、运行结果部分展示 5、需要用到的图片要放在代码同一文件夹下 6、代码地址&#xff08;里面有需要用到的图片&#xff09; 1、游戏介绍和规则 规则如…...

png格式怎么转成gif?一个小窍门快速转换

如何将png转换成gif动画&#xff1f;作为新媒体工作者&#xff0c;在日常办公中少不了使用到gif格式图片。那么&#xff0c;当我们遇到需要将png格式转换成gif格式的时候要怎么操作呢&#xff1f;很简单&#xff0c;使用gif动画图片&#xff08;https://www.gif.cn/&#xff09…...

mysql笔记:20. 什么是数据库六大范式

文章目录 简介什么是范式最常用的范式 第一范式 - 1NF第二范式 - 2NF第三范式 - 3NF第四范式 - 4NF第五范式 - 5NF巴斯-科德范式 - BCNF总结 简介 什么是范式 范式&#xff08;Normal Form&#xff0c;简称NF&#xff09;是数据库设计时遵循的一种规范&#xff0c;不同的规范…...

4.GetMapping和PostMapping 和 @RequestMapping的区别。RequestBody 和ResponseBody的区别

1.GetMapping和PostMapping 和 RequestMapping的区别 //GetMapping只能通过get请求。 public class Hello1{GetMapping("hello1")public String h1(){return "1";}//PostMapping只能通过post请求&#xff0c;需要输入参数。 public class Hello2{PostMapp…...

UE要收费?难道ue的使用成本要增加吗?

去年&#xff0c;Epic Games在裁员16%后&#xff0c;放出要对非游戏制作等行业使用UE进行收费的消息。3月12日&#xff0c;Epic Games正式宣布了对UE、实时可视化工具Twinmotio和摄影测量应用RealityCapture的新定价。 Epic Games将从下个月开始推出新的Unreal订阅模式&#x…...

深度学习-2.6在MINST-FASHION上实现神经网络的学习流程

文章目录 在MINST-FASHION上实现神经网络的学习流程1. 导库2. 导入数据&#xff0c;分割小批量3. 定义神经网络4.定义训练函数5.进行训练与评估 在MINST-FASHION上实现神经网络的学习流程 现在我们要整合本节课中所有的代码实现一个完整的训练流程。 首先要梳理一下整个流程&a…...

Java后端八股----JVM篇

上图中线程1&#xff0c;2如果资源被抢占了&#xff0c;则程序计数器记录一下执行的行号&#xff0c;等到资源就绪后会从记录的行号继续向后执行。 Java8把静态变量以及常量放到了线程的本地内存原空间中(避免放在堆中不可控)。 &#x1f446;图中第二种情况不太容易出现…...

使用 C 或 C++ 扩展 Python

如果你会用 C&#xff0c;添加新的 Python 内置模块会很简单。以下两件不能用 Python 直接做的事&#xff0c;可以通过 extension modules 来实现&#xff1a;实现新的内置对象类型&#xff1b;调用 C 的库函数和系统调用。 为了支持扩展&#xff0c;Python API&#xff08;应…...

MVC接收请求教程

mvc接收各种请求 1-环境搭建 1.1-准备apifox发送请求 1.2-项目搭建 ①创建Web骨架的Maven项目 ​ --打开2023-IDEA &#xff0c;选择New Project ​ --选择Maven Archetype ​ --注意点&#xff1a;Catalog默认就行了 ​ --Archetype选择webapp ​ --JDK跟着黑马敲最好…...

P8711 [蓝桥杯 2020 省 B1] 整除序列 存疑解决篇 Python

[蓝桥杯 2020 省 B1] 整除序列 题目描述 有一个序列&#xff0c;序列的第一个数是 n n n&#xff0c;后面的每个数是前一个数整除 2 2 2&#xff0c;请输出这个序列中值为正数的项。 输入格式 输入一行包含一个整数 n n n。 输出格式 输出一行&#xff0c;包含多个整数…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...