论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
物联网
›
物联网
›
Maven 基础知识
Maven 基础知识
立山
论坛元老
|
2025-4-11 21:09:42
|
显示全部楼层
|
阅读模式
楼主
主题
1857
|
帖子
1857
|
积分
5571
1. Maven
1.1 概述
apache 旗下的一个开源项目
一款用于
管理和构建
Java 项目的工具
(Apache 软件基金会,成立于 1997年7月
是世界上最大最受欢迎的开源软件基金会
是一个专门为支持开源项目而生的非营利性构造 )
1.2 作用
1.2.1 依赖管理
若不使用 Maven ,必要手动下载并导入相关 jar 包到项目中
倘若对部分 jar 包进行升级,相关依赖的 jar 包也要升级
这些都非常繁琐
而 Maven 可以
方便快捷的管理项目以来的资源( jar 包),避免版本冲突问题
1.2.2 统一项目布局
差别Java集成环境
开发
工具构建的 Java 项目的目录布局有差别
以致创建的 Java 项目不能导入到其他
开发
工具中
而 Maven 可以
提供统一尺度的项目布局
1.2.3 项目构建
每个项目都要经过编译 测试 打包 发布
大型项目的模块较多,执行这些流程较繁琐
而 Maven 提供了
尺度的构建流程,可以快速完成编译 测试 打包 发布的工作
1.3 介绍
Maven 基于项目对象模子(Project Object Model),通过一小段描述信息来管理项目的构建
Maven 模子分三部分:
构建生命周期阶段:通过各种各样的插件完成各种功能
项目对象模子:通过 pom.xml 文件中配置的信息描述 Maven 工程
依赖管理模子:若当前的项目工程中还必要其他依赖资源,就可以在 pom.xml 文件中添加添加依赖管理模子
添加的依赖从本地仓库中下载,本地仓库没有会连接私服(远程仓库)
私服没有会连接中心仓库
再从中心仓库将相关 jar 包下载到私服
最后从私服下载到本地仓库
1.4 安装
安装步骤: 解压 配置本地仓库 配置阿里云私服 配置环境变量
前三个步骤网络上有很多教程,这里不详细叙述
1.4.1 配置环境变量
配置环境变量为单个项目配置 / 配置Maven 环境(全局)两种
一样寻常我们配置 Maven 的全局环境变量
1.5 创建 Maven 项目
在 Java 包下创建 Java 文件进行测试
1.6 Maven 坐标
1.6.1 概述
是资源的
唯一标识
,通过坐标可以唯肯定位资源位置
通过坐标界说项目或引入项目中必要的依赖
1.6.2 主要组成
groupid:界说当前 Maven 项目从属构造名称(通常是域名反写)
artifactid:界说当前 Maven 项目名称(通常是模块名称)
version:界说当前项目版本号
1.7 导入 Maven 项目
选择右侧 Maven 面板,点击 “ + ” 号
选中对应项目的“ pom.xml ” 文件,双击即可
2. 依赖管理
2.1 依赖配置
依赖:当前
项目运行所必要的 jar 包
,一个项目可以引入多个依赖
依赖第一次导入无法找到:
2.2 依赖通报
依赖具有
通报性
如上,只引入一个 jar 包,最后却出现了三个 依赖
依赖分为
直接依赖,间接依赖
直接依赖:当前项目中通过依赖配置建立的依赖关系
间接依赖:被依赖的资源若依赖其他资源,当前项目间接依赖其他资源
2.2.1 展示依赖
以
图表情势
展示依赖关系:
2.2.2 排除依赖
项目 A 依赖 项目 B ,项目 B 依赖 jar 包
但项目 A 不想依赖项目 B 的 jar 包
2.3 依赖范围
依赖的 jar 包
默认情况下,可以在任何地方使用
主程序
范围有用:main 文件夹范围内
测试程序
范围有用:test 文件夹范围内
是否
参与打包运行
:package 指令范围内
可以通过
<scope> ... <scope>
设置其作用范围
2.4 生命周期
生命周期:为了对所有的 maven 项目构建过程进行
统一和抽象
Maven 中有
3
套
相互独立
的生命周期:
clean
:清算工作
default:
核心工作,如:编译,测试,打包,安装,部署等
site
:天生报告,发布站点等
生命周期涉及的阶段很多,其中
5
个是较为重要的
clean
:移除上一次构建天生的文件
compile
:编译项目源代码
test
:使用符合的单元测试框架运行测试
package
:将编译后的文件打包,如 jar,war 等
install
:安装项目到本地仓库
2.4.1 阶段顺序
阶段是有
顺序
的,后面的阶段依赖前面的阶段
即在同一套生命周期中,
运行后面的阶段,其前面的阶段都会运行
如下,运行 package 阶段,会先运行 compile 阶段,test 阶段
由于他们都在 default 这同一生命周期中
运行 install 阶段,不会运行前面的 clean ,compile,test,package 阶段
由于他们不在同一生命周期中
2.4.2 执行指定生命周期
方式一:选中对应生命周期,双击执行
clean
:移除上一次构建天生的文件
compile
:编译项目源代码
test
:使用符合的单元测试框架运行测试
package
:将编译后的文件打包,如 jar,war 等
install
:安装项目到本地仓库
方式二:在命令行执行
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
立山
论坛元老
这个人很懒什么都没写!
楼主热帖
IoTOS-v1.5.3 新增 智能诊断&会话记录 ...
【学习笔记】WPF-01:前言
基于SqlSugar的开发框架循序渐进介绍( ...
网络安全-技术与实践 书本习题练习 ...
CentOS7 单机版使用kubeadm安装K8S ...
IO流的使用
WEB安全基础入门—身份验证漏洞 ...
开源直播课丨大数据集成框架ChunJun类 ...
Python中可以用三种方法判断文件是否存 ...
解读数仓常用模糊查询的优化方法 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
公有云
主机安全
IOS
快速回复
返回顶部
返回列表