Java项目管理01-Maven基础

一、Maven的常用命令和生命周期

1.Maven的常用命令使用方式

  • complie:编译,将java文件编译为class字节码文件

  • clean:清理,删除字节码文件

  • test:测试,运行项目中的test类

  • package:打包,根据项目类型自动打包

  • install:安装,将你的项目安装到本地仓库

(1)命令窗口模式
  • 在项目目录下,按住shift右键,选择在此打开powershell窗口,项目目录如下图
  • 或者在该目录上方的地址栏输入cmd也可以
  • 输入mvn -常用命令,即可
(2)idea

方式一:

  • maven项目,无法断点调试

方式二:

  • 安装Mavenhelper插件,可以断点调试

2.Maven生命周期

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

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

    • clean:清理工作

    • default:核心工作,例如编译,测试,打包,安装等

    • site:产生报告,发布站点等

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

更多命令可自行查阅

二、Maven的使用

1.Maven坐标详解

(1)Maven坐标:
  • Maven 中的坐标是资源的唯一标识

  • 使用坐标来定义项目或引入项目中需要的依赖

(2)Maven坐标主要组成:
  • groupld:定义当前Maven项目隶属组织名称 (通常是域名反写)

  • artifactld:定义当前Maven项目名称 (通常是模块名称,例如 order-service、goods-service)

  • version:定义当前项目版本号

2.Maven项目的创建

  • new model

  • 选择Maven

  • 选择合适的JDK

  • next

  • 填写模块名,【组织名称,项目名称,版本】个人练习可不写,默认也可以,但要记住这三个

Maven的目录结构:

3.Maven项目的导入

方式一:

  • 点击项目右侧的Maven

  • 之后点击+号

  • 选择要导入项目中的pom文件即可

方式二:

  • 没有显示Maven

  • 点击view

  • 选择Appearance

  • 之后点击Tool Window Bars即可

  • 之后回到方式一

4.使用坐标导入jar包

国外:

  • 打开maven仓库地址
  • 搜索jar包名称,选好版本

  • 将Maven标签中的内容复制下来

  • 粘贴到pom文件中即可

  • 更新Maven

国内镜像:

  • 打开镜像仓库

  • 搜索jar包名称,选好版本

  • 点击pom

  • 复制依赖

  • 粘贴

  • 更新Maven

5.Maven刷新时机设置

如果嫌手动刷新太麻烦,可以将其设置为自动

  • file

  • settings

  • Build, Execution, Deployment

  • 右侧build Tools

6.Maven快速导包

前提:本地仓库有

  • alt + ins,选择dependency

  • 直接搜索jar名称

  • 点击即可

7.Maven依赖范围管理

通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围: 编译环境、测试环境、运行环境

scope默认值:compile

相关推荐
M78佐菲2 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
学长毕业设计2 小时前
基于SpringBoot的公益基金管理系统(源码+文档+讲解视频)
java·spring boot·后端
东小西2 小时前
【SAA实战】第 3 篇 · 工具调用全攻略:把业务能力交给 Agent 自己调度
java·后端·spring
东小西2 小时前
【SAA实战】第 4 篇 · Agent 短期记忆:saver 让 Agent 跨轮记得住(threadId 隔离)
java·后端·spring
许彰午2 小时前
22-DataCenter报文序列化
java·低代码·架构·状态模式
噜~噜~噜~3 小时前
操作系统笔记-2.3.5.1.1生产者-消费者问题
笔记·操作系统
2601_962065253 小时前
[MySQL] SQL优化之性能分析
java·sql·mysql
小范同学_3 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
予昊4 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
2601_962203514 小时前
【SpringAI入门】初识SpringAI
java