微服务核心01-Maven【项目管理工具】基础

news2025/1/11 12:59:03

一、Maven 简介

1.1 传统项目管理:

1.2 Maven 的作用

  • 项目构建:提供标准的、跨平台的自动化项目构建方式。
  • 依赖管理:管理项目依赖的资源(jar 包),避免资源间的版本冲突问题
  • 统一开发结构:提供标准的、统一的项目结构

1.3 下载与安装

Maven官网:http://maven.apache.org/

Maven 下载地址:http://maven.apache.org/download.cgi

Maven下载的位置:E:\SoftWare\programmer\maven

1.4 Maven 中文件的介绍

bin:Maven 核心运行文件

boot:类加载器

conf:核心配置

lib:Maven 依赖的 jar 包

Maven 属于绿色版软件,解压即安装。

1.5 Maven 环境变量配置:

  • 依赖 Java,需要配置 JAVA_HOME
  • 设置 MAVEN 自身的运行环境,需要配置  


二、Maven 基础概念(重点)

2.1 仓库:用于存储资源,包含各种 jar 包

中央仓库

私服仓库

本地仓库

2.2 坐标:(查找资源的定位方式)

https://mvnrepository.com

坐标的组成:组成ID、项目ID、版本号

2.3 本地仓库配置:

1、Maven 仓库默认存储位置:

2、自己配置的 Maven 本地仓库位置:

2.4 远程仓库配置:

1、镜像仓库配置:

2.5 全局 setting 与 用户 setting 区别

  • 全局setting 定义了当前计算器中 Maven 的公共配置
  • 用户 setting 定义了当前用户的配置

三、第一个Maven 项目(手工制作)(⭐)
Maven 主要是做构建的

3.1 Maven 工程目录结构

3.2 Maven 构建命令

3.3 插件创建工程

使用模板生成(直接在命令行输入下面的命令)

四、第一个 Maven 项目(IDEA)(重点)

4.1 配置 Maven

4.2 手工创建 Java 项目 

 

 

4.3 原型创建 Java 项目

4.4 原型创建 Web 项目

4.5 插件

web 工程的启动,需要 tomcat 插件

tomcat7 插件的安装,主要作用是运行 web 项目

pom.xml 文件案例: 

<?xml version="1.0" encoding="utf-8" ?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!--  指定pom的模型版本  -->
  <modelVersion>4.0.0</modelVersion>
<!--  打包方式,web工程打包为war,java工程打包为jar  -->
  <packaging>war</packaging>

<!--  组织id,公司域名反写-->
  <groupId>com.itheima</groupId>
<!--    项目id-->
  <artifactId>web01</artifactId>
<!--    版本号:release(完成版),snapshot(开发版)-->
  <version>1.0-SNAPSHOT</version>

<!--设置当前工程的所有依赖-->
  <dependencies>
<!--      具体的依赖-->
      <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
      </dependency>
  </dependencies>

  <!--构建 -->
  <build>
    <!--设置插件-->
    <plugins>
      <!--具体的插件配置-->
      <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.1</version>
          <!--配置-->
          <configuration>
            <!--端口-->
            <port>80</port>
            <!--路径-->
            <path>/</path>
          </configuration>
      </plugin>
    </plugins>
  </build>

</project>

五、依赖管理(重点)

5.1 依赖配置

依赖指当前项目运行所需的 jar,一个项目可以设置多个依赖

格式:

4.2 依赖传递

1、依赖传递中的冲突问题:

4.3 可选依赖

可选依赖:对外隐藏当前所依赖的资源(对外不透明)

控制这个资源不被别人看到。

4.4 排除依赖

排除依赖:主动断开依赖的资源(不需要这些依赖的资源)(被排除的资源无需指定版本)

不需要这个依赖,将它排除

5.5 依赖范围

  • 依赖的 jar 默认情况可以在任何地方使用,可以通过 scope 标签设定其作用范围
  • 作用范围
    • 主程序范围有效(main 文件夹范围内)
    • 测试程序范围有效(test 文件夹范围内)
    • 是否参与打包(package 指令范围内)

1、依赖范围的传递性

  • 带有依赖范围的资源在进行传递时,作用范围将受到影响。

六、生命周期与插件

6.1 项目构建生命周期

  • Maven 构建生命周期描述的是一次构建过程经历了多少个事件

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

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

2、clean 生命周期

  • pre-clean:执行一些需要在 clean 之前完成的工作
  • clean :移除所有上一次构建生成的文件
  • post-clean :执行一些需要在 clean 之后立刻完成的工作

3、default 构建生命周期

4、site 构建生命周期

  • pre-site : 执行一些需要在生成站点文档之前完成的工作
  • site : 生成项目的站点文档
  • post-site :执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
  • site-deploy :将生成的站点文档部署到特定的服务器上

6.2 插件

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

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

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

相关文章

RGB-D分割相关调研

一、常见的RGB-D分割网络结构 单分支 RGB和Depth信息进行前期融合&#xff08;a&#xff09;&#xff0c;常规的编码-解码结构&#xff0c;对卷积核进行改进以适应RGB和Depth信息&#xff0c;不需要改变网络结构 双分支 不同的分支对RGB和Depth信息进行&#xff08;中期b或者后…

如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问

文章目录 前言1. 安装 Raspberry Pi OS2. 测试 web 站点3. 安装静态样例站点4. 将web站点发布到公网4.1 安装 Cpolar4.2 cpolar进行token认证4.3 生成cpolar随机域名网址4.4 生成cpolar二级子域名4.5 将参数保存到cpolar配置文件中4.6 测试修改后配置文件4.7 配置cpolar服务开机…

华为静态路由跨网段通信eNSP

拓扑图&#xff1a; 底层原理&#xff1a; 通信需要4个地址 源MAC 源IP 目标MAC 目标IP ARP地址解析协议 通过ip地址解析MAC 如果是相同的网段直接通过 arp直接发送广播 谁是192.168.1.2 我需要的MAC 1.2就会回应告诉 1.1他的MAC 1.1会封装4个地址 发送方的IP MAC 接受方IP和MA…

电脑文件加密软件有哪些?口碑、安全性最好的文件加密软件

某企业的一位员工因不慎将包含敏感客户数据的电脑丢失&#xff0c;导致企业面临巨大的法律风险和经济损失。 这一事件凸显了电脑文件加密的必要性。 如果该企业事先采用了文件加密软件对敏感数据进行保护&#xff0c;即使电脑丢失&#xff0c;攻击者也无法轻易获取到文件内容…

液压阀比例电磁铁控制放大器

液压阀比例电磁铁控制放大器是一种将电信号精确转换为液压动力的技术&#xff0c;用于实现对液压系统的精细控制。与传统的开关型电磁铁不同&#xff0c;比例电磁铁可以实现连续控制&#xff0c;允许进行微调以适应不同的控制需求。比例液压阀包括比例压力阀、比例流量阀等&…

SSE介绍(实现流式响应)

写在前面 本文一起来看下SSE相关内容。 1&#xff1a;SSE是什么 全称&#xff0c;server-send events&#xff0c;基于http协议&#xff0c;一次http请求&#xff0c;server端可以分批推送数据&#xff0c; 不同于websocket的全双工通信&#xff0c;SSM单向通信,一般应用于需…

代码生成工具1 ——项目简介和基础开发

1 项目简介 需要提前在数据库建好表&#xff0c;然后执行代码生成工具&#xff0c;会生成简单的Java文件&#xff0c;避免重复编写增删改查代码。类似的工具网上有很多&#xff0c;本人开发这个工具属于自娱自乐。这个专栏会记录开发的过程。 2 项目搭建 数据库使用MySQL &…

激光跟踪仪在石油化工领域高效应用

管板式换热器是一种实现物料之间热量传递的节能设备&#xff0c;在石油化工行业生产过程中扮演着重要的角色。无论是在提高生产效率&#xff0c;保证产品质量还是节约能源方面&#xff0c;都发挥着重要作用。 测量需求 管板式热交换器内部有多个管板和折流板&#xff0c;每一…

BigInteger和BigDecimal类

BigInteger 和 BigDecimal 介绍 应用场景 BigInteger适合保存比较大的整型BigDecimal适合保存精度更高的浮点型&#xff08;小数&#xff09; BigInteger 和 BigDecimal 常见方法 1&#xff0c;add 加2&#xff0c;subtract 减3&#xff0c;multiply 乘4&#xff0c;divide…

小程序开发之tdesignUI组件的简易使用教程

文章目录 TDesign简介小程序端使用TDesign一、安装二、使用可能的问题 附&#xff1a;如何使用weui开发参考链接 TDesign简介 TDesign 是腾讯各业务团队在服务业务过程中沉淀的一套企业级设计体系。 该UI框架支持桌面端、移动端、小程序端等全端。 小程序端使用TDesign 开发…

深沪300etf期权如果放弃行权了会怎么样?

今天期权懂带你了解深沪300etf期权如果放弃行权了会怎么样&#xff1f;期权行权是指期权持有人根据合约规定&#xff0c;在合约有效期内以约定的行权价格购买或卖出标的资产的权利&#xff0c;投资者可以选择行权&#xff0c;当然也有个别的选择放弃行权。 深沪300etf期权如果放…

不要被git的记录误导了,git也会犯错

Android studio中有个很方便的功能&#xff0c;可以查看单个文件的修改记录 显示这条记录把一行代码给删除了 我们找到这条完整的提交记录看看 在这次提交中我们确实没有删除那行代码。 那这行代码到底是怎么删除的&#xff1f;为什么又会被认为是我们删除的呢&#xff1f; …

OpenAI推出DALL·E 3识别器、媒体管理器

5月8日&#xff0c;OpenAI在官网宣布&#xff0c;将推出面向其文生图模型DALLE 3 的内容识别器&#xff0c;以及一个媒体管理器。 随着ChatGPT、DALLE 3等生成式AI产品被大量应用在实际业务中&#xff0c;人们越来越难分辨AI和人类创建内容的区别&#xff0c;这个识别器可以帮…

MongoDB Atlas Vector Search与Amazon Bedrock集成已全面可用

亮点前瞻 ●MongoDB Atlas Vector Search知识库与Amazon Bedrock的最新集成&#xff0c;将极大加速生成式AI应用的开发。 ●诺和诺德利用MongoDB Atlas Vector Search与Amazon Bedrock集成&#xff0c;加速构建AI应用程序。 MongoDB&#xff08;纳斯达克股票代码&#xff1a…

小白必看:数据防泄密软件介绍|安在云和Ping32对比?

在当今数字化时代&#xff0c;数据防泄密软件已经成为企业和组织不可或缺的重要工具。随着信息技术的发展&#xff0c;企业面临着越来越多的网络安全威胁&#xff0c;数据泄露事件也屡见不鲜。数据防泄密软件的出现&#xff0c;为企业提供了有效的解决方案。 一、数据防泄密软…

每日OJ题_记忆化搜索⑤_力扣329. 矩阵中的最长递增路径

目录 力扣329. 矩阵中的最长递增路径 解析代码1_爆搜递归&#xff08;超时&#xff09; 解析代码2_记忆化搜索 力扣329. 矩阵中的最长递增路径 329. 矩阵中的最长递增路径 难度 困难 给定一个 m x n 整数矩阵 matrix &#xff0c;找出其中 最长递增路径 的长度。 对于每…

vscode 使用正则搜索

ctrl c 复制&#xff0c;内容如下&#xff1a; Vue3简介创建Vue3工程Vue3核心语法路由pinia组件通信其它 APIVue3新组件

腐烂的橘子

题目链接 腐烂的橘子 题目描述 注意点 grid[i][j] 仅为 0、1 或 2每分钟&#xff0c;腐烂的橘子周围4个方向上相邻的新鲜橘子都会腐烂 解答思路 广度优先遍历找到每分钟腐烂的橘子&#xff0c;将第i - 1分腐烂的橘子都添加到队列中&#xff0c;在第i分钟&#xff0c;第i -…

重学java 30.API 1.String字符串

于是&#xff0c;虚度的光阴换来了模糊 —— 24.5.8 一、String基础知识以及创建 1.String介绍 1.概述 String类代表字符串 2.特点 a.Java程序中的所有字符串字面值(如“abc”)都作为此类的实例(对象)实现 凡是带双引号的&#xff0c;都是String的对象 String s "abc&q…

Linux基础服务NFS入门篇

文章目录 Linux基础服务NFS入门篇0.前言1.NFS1.1NFS简介1.2NFS配置 Linux基础服务NFS入门篇 0.前言 本文根据大佬们的资料整理了NFS的基础知识&#xff0c; 加深对linux运维基础服务工具的理解&#xff0c;以便个人查询复习使用。 1.NFS 资料来自B站阿铭linux的印象笔记&#…