imtoken钱包安卓版手机下载|maven怎么读
maven到底怎么读?_maven美文还是马文-CSDN博客
>maven到底怎么读?_maven美文还是马文-CSDN博客
maven到底怎么读?
最新推荐文章于 2023-05-22 15:18:58 发布
「已注销」
最新推荐文章于 2023-05-22 15:18:58 发布
阅读量2k
收藏
点赞数
2
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_51945027/article/details/114807759
版权
说到maven,想必大家并不陌生。一个好用的依赖管理工具当我若干年前开始学习maven的时候就听到不少的人,把maven叫做“马文”这些人,不乏老师和前辈可是正确的读法是“枚文”不管是美式读法还是英式读法都和“马文”的读法大相径庭当纠正他们的读法的时候他们还…唉算了自己知道就行了
优惠劵
「已注销」
关注
关注
2
点赞
踩
0
收藏
觉得还不错?
一键收藏
知道了
2
评论
maven到底怎么读?
icu
复制链接
扫一扫
用Maven做项目构建
03-02
本文将介绍基于ApacheMaven3的项目构建的基本概念和方法。Maven是一套标准的项目构建和管理工具,使用统一规范的脚本进行项目构建,简单易用,摒弃了Ant中繁琐的构建元素,并具有较高的可重用性。读完本文,您将了解Maven的基本概念和使用它进行项目构建的基本方法。本文将介绍基于ApacheMaven3的项目构建的基本概念和方法。Maven是一套标准的项目构建和管理工具,使用统一规范的脚本进行项目构建,简单易用,摒弃了Ant中繁琐的构建元素,并具有较高的可重用性。读完本文,你将了解Maven的基本概念和使用它进行项目构建的基本方法。Maven是Apache组织下的一个跨平台的项目管理工具
maven 汉字转拼音
夜晓星的博客
01-18
2681
Pom.xml文件
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.0</version>
2 条评论
您还未登录,请先
登录
后发表或查看评论
Maven之(一)Maven是什么
weixin_30625691的博客
05-22
647
首先,Maven的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven在美国是一个口语化的词语,代表专家、内行的意思,约等于北京话中的老炮儿。一个对Maven比较正式的定义是这么说的:Maven是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统...
Maven使用教程
19.2.04.157N的博客
03-06
4960
Maven使用教程
Maven中的pom.xml文件超详细解析
顺其自然~专栏
05-22
7586
POM全程,又称项目对象模型。他是Maven工程的基本工作单元,是一个XML(可扩展标记语言)文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖等等。执行任务或目标时,Maven会在当前目录中查找 POM并读取从而获取所需的配置信息执行目标,属于项目级别的配置文件。
[每天一个知识点]12-Maven怎么读
weixin_34018169的博客
01-19
2518
2019独角兽企业重金招聘Python工程师标准>>>
...
Maven学习(一)---Maven简介
qq_43511842的博客
07-26
459
一、Maven简介
1.Maven是什么
Maven是Apache旗下的项目管理工具,它有Java语言开发,可以帮助我们更方便的管理和构建Java项目。
2.Maven怎么读?
['meɪvən] ----- “mēi wen” 不是“mā wen”
3.为什么要用Maven
3.1 jar包管理:
从Maven中央仓库获取标准的规范的jar包以及相关依赖的jar包,避免自己下载到错...
Maven入门,读完这篇就够了
嘟爷java超神学堂
01-01
2543
前言夜空中最亮的星,2018请照亮我前行~ Maven是我们日常开发都会用到的,新年第一天,把看过的Maven基础概念做了整理,作为入门和查阅使用。正文 Maven概念Maven作为一个构建工具,不仅能帮我们自动化构建,还能够抽象构建过程,提供构建任务实现;它跨平台,对外提供了一致的操作接口,这一切足以使它成为优秀的、流行的构建工具。Maven不仅是构建工具,还是一个依赖管理工具和项目管理工具,它
字符编码(ASCII、ANSI、GB2312、UTF-8等)系统梳理
冰河
01-31
7176
鉴于CSDN对**版权保护的不作为**以及落后的运营手段,本博客将于近期关闭,并清空全部文章。
原有文章将会经过再次的校对、整理,转移至本人在**简书**的[博客空间](https://www.jianshu.com/u/3ec23ef9a408)。
...
maven仓库清除工具.rar
11-12
maven因为网络原因或者下载jar包错误造成的jar包报错,可以清理maven仓库的错误jar包以及空文件夹
maven工具包本地仓库
12-07
读音是['meɪv(ə)n]或['mevn],不要读作“妈文”。 2)Maven是一款自动化构建工具,专注服务于Java平台的项目构建和依赖管理。在JavaEE开发的历 史上构建工具的发展也经历了一系列的演化和变迁: Make→Ant→Maven→...
maven配置文件-阿里云镜像版
08-13
maven配置文件-阿里云镜像版
pandasrw-0.0.2-py3-none-any.whl
03-11
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
pandas_cacher-0.1.1-py3-none-any.whl
最新发布
03-11
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
pandas_bokeh-0.1-py2.py3-none-any.whl
03-11
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
面向对象进阶综合练习里面的源代码(包括类代码,测试类)
03-11
面向对象进阶综合练习里面的源代码(包括类代码,测试类)
北京林业大学820《机械工程专业基础综合》2021年考研专业课初试大纲.pdf
03-11
北京林业大学考研初试大纲
北京林业大学812《高等代数》2021年考研专业课初试大纲.pdf
03-11
北京林业大学考研初试大纲
maven配置lombok
08-25
Lombok可以自动生成getter、setter、构造器、equals等方法,减少了重复的代码编写工作,使代码更加简洁易读。123 #### 引用[.reference_title] -...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
「已注销」
CSDN认证博客专家
CSDN认证企业博客
码龄3年
Java领域新星创作者
1114
原创
-
周排名
-
总排名
60万+
访问
等级
1万+
积分
1万+
粉丝
597
获赞
333
评论
1128
收藏
私信
关注
热门文章
一线大厂面试难度最新排行
35445
spring security面试题
15012
AuthenticationManager详解
12138
解决macOS系统向日葵远控无法被远程控制问题
10091
‘APPLICATION_JSON_UTF8_VALUE‘ is deprecated【已解决】
9810
分类专栏
创作者
实现买下蛋糕店梦想
12篇
从入门到学废
13篇
技术专项文档
4篇
大厂面试题系列
4篇
笔记
2篇
最新评论
ExceptionTranslationFilter详解
慢腾腾的悠闲:
想问一下我就是登录的接口请求,为什么也会被这个异常转换器因为权限而抓到呢
spring Security 的requestMatchers方法
你猜不到喔:
http.requestMatchers().anyRequest().and().authorizeRequests().antMatchers("/test/").authenticated();配置和http.requestMatchers().antMatchers("/test/").and().authorizeRequests().antMatchers("/**").authenticated();配置完效果一样?
微服务架构授权是在网关做还是在微服务做?
lzh0533:
写的这么好为啥没人咱赞呢--
Session管理机制
傻高尚:
笑死 刚学到这 和我看到的原文档一样
【每日一题】一起冲击蓝桥杯吧——Day07【蓝桥真题一起练】
异次元技术宅OuO:
这是递归吧,太多if嵌套了
最新文章
【每日一题】一起冲击蓝桥杯吧——Day09【蓝桥真题一起练】
【每日一题】一起冲击蓝桥杯吧——Day07【蓝桥真题一起练】
【从入门到学废---Maven】全站最强Maven学习笔记
2022年13篇
2021年1096篇
2020年5篇
目录
目录
分类专栏
创作者
实现买下蛋糕店梦想
12篇
从入门到学废
13篇
技术专项文档
4篇
大厂面试题系列
4篇
笔记
2篇
目录
评论 2
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值
MAVEN的英语发音
MAVEN的英语发音
词典
翻译
语法
同义词词典
+Plus
剑桥词典+Plus
Shop
剑桥词典+Plus
我的主页
+Plus 帮助
退出
剑桥词典+Plus
我的主页
+Plus 帮助
退出
登录
/
注册
中文 (简体)
查找
查找
English Pronunciation
maven的英语发音
maven
How to pronounce maven
Your browser doesn't support HTML5 audio
UK/ˈmeɪ.vən/
Your browser doesn't support HTML5 audio
US/ˈmeɪ.vən/
More about phonetic symbols
Sound-by-sound pronunciation
Your browser doesn't support HTML5 audio
UK/ˈmeɪ.vən/ maven
Your browser doesn't support HTML5 audio
/m/ as in
Your browser doesn't support HTML5 audio
moon
Your browser doesn't support HTML5 audio
/eɪ/ as in
Your browser doesn't support HTML5 audio
day
Your browser doesn't support HTML5 audio
/v/ as in
Your browser doesn't support HTML5 audio
very
Your browser doesn't support HTML5 audio
/ən/ as in
Your browser doesn't support HTML5 audio
sudden
Your browser doesn't support HTML5 audio
US/ˈmeɪ.vən/ maven
Your browser doesn't support HTML5 audio
/m/ as in
Your browser doesn't support HTML5 audio
moon
Your browser doesn't support HTML5 audio
/eɪ/ as in
Your browser doesn't support HTML5 audio
day
Your browser doesn't support HTML5 audio
/v/ as in
Your browser doesn't support HTML5 audio
very
Your browser doesn't support HTML5 audio
/ən/ as in
Your browser doesn't support HTML5 audio
sudden
(maven在剑桥高级学习词典和同义词词典和剑桥学术词典的英语发音, both sources © Cambridge University Press)
maven的解释是什么?
浏览
Mauritian
Mauritius
mausoleum
mauve
maven
maverick
maw
mawkish
mawkishly
“每日一词”
response
UK
Your browser doesn't support HTML5 audio
/rɪˈspɒns/
US
Your browser doesn't support HTML5 audio
/rɪˈspɑːns/
an answer or reaction
关于这个
博客
Forget doing it or forget to do it? Avoiding common mistakes with verb patterns (2)
March 06, 2024
查看更多
新词
inverse vaccine
March 11, 2024
查看更多
©剑桥大学出版社与评估2024
学习
学习
学习
新词
帮助
纸质书出版
Word of the Year 2021
Word of the Year 2022
Word of the Year 2023
开发
开发
开发
词典API
双击查看
搜索Widgets
执照数据
关于
关于
关于
无障碍阅读
剑桥英语教学
剑桥大学出版社与评估
授权管理
Cookies与隐私保护
语料库
使用条款
京ICP备14002226号-2
©剑桥大学出版社与评估2024
剑桥词典+Plus
我的主页
+Plus 帮助
退出
词典
定义
清晰解释自然的书面和口头英语
英语
学习词典
基础英式英语
基础美式英语
翻译
点击箭头改变翻译方向。
双语词典
英语-中文(简体)
Chinese (Simplified)–English
英语-中文(繁体)
Chinese (Traditional)–English
英语-荷兰语
荷兰语-英语
英语-法语
法语-英语
英语-德语
德语-英语
英语-印尼语
印尼语-英语
英语-意大利语
意大利语-英语
英语-日语
日语-英语
英语-挪威语
挪威语-英语
英语-波兰语
波兰语-英语
英语-葡萄牙语
葡萄牙语-英语
英语-西班牙语
西班牙语-英语
English–Swedish
Swedish–English
半双语词典
英语-阿拉伯语
英语-孟加拉语
英语-加泰罗尼亚语
英语-捷克语
英语-丹麦语
English–Gujarati
英语-印地语
英语-韩语
英语-马来语
英语-马拉地语
英语-俄语
English–Tamil
English–Telugu
英语-泰语
英语-土耳其语
英语-乌克兰语
English–Urdu
英语-越南语
翻译
语法
同义词词典
Pronunciation
剑桥词典+Plus
Shop
剑桥词典+Plus
我的主页
+Plus 帮助
退出
登录 /
注册
中文 (简体)
Change
English (UK)
English (US)
Español
Русский
Português
Deutsch
Français
Italiano
中文 (简体)
正體中文 (繁體)
Polski
한국어
Türkçe
日本語
Tiếng Việt
Nederlands
Svenska
Dansk
Norsk
हिंदी
বাঙ্গালি
मराठी
ગુજરાતી
தமிழ்
తెలుగు
Українська
关注我们
选择一本词典
最近的词和建议
定义
清晰解释自然的书面和口头英语
英语
学习词典
基础英式英语
基础美式英语
语法与同义词词典
对自然书面和口头英语用法的解释
英语语法
同义词词典
Pronunciation
British and American pronunciations with audio
English Pronunciation
翻译
点击箭头改变翻译方向。
双语词典
英语-中文(简体)
Chinese (Simplified)–English
英语-中文(繁体)
Chinese (Traditional)–English
英语-荷兰语
荷兰语-英语
英语-法语
法语-英语
英语-德语
德语-英语
英语-印尼语
印尼语-英语
英语-意大利语
意大利语-英语
英语-日语
日语-英语
英语-挪威语
挪威语-英语
英语-波兰语
波兰语-英语
英语-葡萄牙语
葡萄牙语-英语
英语-西班牙语
西班牙语-英语
English–Swedish
Swedish–English
半双语词典
英语-阿拉伯语
英语-孟加拉语
英语-加泰罗尼亚语
英语-捷克语
英语-丹麦语
English–Gujarati
英语-印地语
英语-韩语
英语-马来语
英语-马拉地语
英语-俄语
English–Tamil
English–Telugu
英语-泰语
英语-土耳其语
英语-乌克兰语
English–Urdu
英语-越南语
词典+Plus
词汇表
选择语言
中文 (简体)
English (UK)
English (US)
Español
Русский
Português
Deutsch
Français
Italiano
正體中文 (繁體)
Polski
한국어
Türkçe
日本語
Tiếng Việt
Nederlands
Svenska
Dansk
Norsk
हिंदी
বাঙ্গালি
मराठी
ગુજરાતી
தமிழ்
తెలుగు
Українська
内容
语法
所有翻译
我的词汇表
把${headword}添加到下面的一个词汇表中,或者创建一个新词汇表。
更多词汇表
前往词汇表
对该例句有想法吗?
例句中的单词与输入词条不匹配。
该例句含有令人反感的内容。
取消
提交
例句中的单词与输入词条不匹配。
该例句含有令人反感的内容。
取消
提交
maven到底怎么读?_maven美文还是马文-CSDN博客
>maven到底怎么读?_maven美文还是马文-CSDN博客
maven到底怎么读?
最新推荐文章于 2023-05-22 15:18:58 发布
「已注销」
最新推荐文章于 2023-05-22 15:18:58 发布
阅读量2k
收藏
点赞数
2
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_51945027/article/details/114807759
版权
说到maven,想必大家并不陌生。一个好用的依赖管理工具当我若干年前开始学习maven的时候就听到不少的人,把maven叫做“马文”这些人,不乏老师和前辈可是正确的读法是“枚文”不管是美式读法还是英式读法都和“马文”的读法大相径庭当纠正他们的读法的时候他们还…唉算了自己知道就行了
优惠劵
「已注销」
关注
关注
2
点赞
踩
0
收藏
觉得还不错?
一键收藏
知道了
2
评论
maven到底怎么读?
icu
复制链接
扫一扫
用Maven做项目构建
03-02
本文将介绍基于ApacheMaven3的项目构建的基本概念和方法。Maven是一套标准的项目构建和管理工具,使用统一规范的脚本进行项目构建,简单易用,摒弃了Ant中繁琐的构建元素,并具有较高的可重用性。读完本文,您将了解Maven的基本概念和使用它进行项目构建的基本方法。本文将介绍基于ApacheMaven3的项目构建的基本概念和方法。Maven是一套标准的项目构建和管理工具,使用统一规范的脚本进行项目构建,简单易用,摒弃了Ant中繁琐的构建元素,并具有较高的可重用性。读完本文,你将了解Maven的基本概念和使用它进行项目构建的基本方法。Maven是Apache组织下的一个跨平台的项目管理工具
maven 汉字转拼音
夜晓星的博客
01-18
2681
Pom.xml文件
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.0</version>
2 条评论
您还未登录,请先
登录
后发表或查看评论
Maven之(一)Maven是什么
weixin_30625691的博客
05-22
647
首先,Maven的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven在美国是一个口语化的词语,代表专家、内行的意思,约等于北京话中的老炮儿。一个对Maven比较正式的定义是这么说的:Maven是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统...
Maven使用教程
19.2.04.157N的博客
03-06
4960
Maven使用教程
Maven中的pom.xml文件超详细解析
顺其自然~专栏
05-22
7586
POM全程,又称项目对象模型。他是Maven工程的基本工作单元,是一个XML(可扩展标记语言)文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖等等。执行任务或目标时,Maven会在当前目录中查找 POM并读取从而获取所需的配置信息执行目标,属于项目级别的配置文件。
[每天一个知识点]12-Maven怎么读
weixin_34018169的博客
01-19
2518
2019独角兽企业重金招聘Python工程师标准>>>
...
Maven学习(一)---Maven简介
qq_43511842的博客
07-26
459
一、Maven简介
1.Maven是什么
Maven是Apache旗下的项目管理工具,它有Java语言开发,可以帮助我们更方便的管理和构建Java项目。
2.Maven怎么读?
['meɪvən] ----- “mēi wen” 不是“mā wen”
3.为什么要用Maven
3.1 jar包管理:
从Maven中央仓库获取标准的规范的jar包以及相关依赖的jar包,避免自己下载到错...
Maven入门,读完这篇就够了
嘟爷java超神学堂
01-01
2543
前言夜空中最亮的星,2018请照亮我前行~ Maven是我们日常开发都会用到的,新年第一天,把看过的Maven基础概念做了整理,作为入门和查阅使用。正文 Maven概念Maven作为一个构建工具,不仅能帮我们自动化构建,还能够抽象构建过程,提供构建任务实现;它跨平台,对外提供了一致的操作接口,这一切足以使它成为优秀的、流行的构建工具。Maven不仅是构建工具,还是一个依赖管理工具和项目管理工具,它
字符编码(ASCII、ANSI、GB2312、UTF-8等)系统梳理
冰河
01-31
7176
鉴于CSDN对**版权保护的不作为**以及落后的运营手段,本博客将于近期关闭,并清空全部文章。
原有文章将会经过再次的校对、整理,转移至本人在**简书**的[博客空间](https://www.jianshu.com/u/3ec23ef9a408)。
...
maven仓库清除工具.rar
11-12
maven因为网络原因或者下载jar包错误造成的jar包报错,可以清理maven仓库的错误jar包以及空文件夹
maven工具包本地仓库
12-07
读音是['meɪv(ə)n]或['mevn],不要读作“妈文”。 2)Maven是一款自动化构建工具,专注服务于Java平台的项目构建和依赖管理。在JavaEE开发的历 史上构建工具的发展也经历了一系列的演化和变迁: Make→Ant→Maven→...
maven配置文件-阿里云镜像版
08-13
maven配置文件-阿里云镜像版
pandasrw-0.0.2-py3-none-any.whl
03-11
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
pandas_cacher-0.1.1-py3-none-any.whl
最新发布
03-11
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
pandas_bokeh-0.1-py2.py3-none-any.whl
03-11
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
面向对象进阶综合练习里面的源代码(包括类代码,测试类)
03-11
面向对象进阶综合练习里面的源代码(包括类代码,测试类)
北京林业大学820《机械工程专业基础综合》2021年考研专业课初试大纲.pdf
03-11
北京林业大学考研初试大纲
北京林业大学812《高等代数》2021年考研专业课初试大纲.pdf
03-11
北京林业大学考研初试大纲
maven配置lombok
08-25
Lombok可以自动生成getter、setter、构造器、equals等方法,减少了重复的代码编写工作,使代码更加简洁易读。123 #### 引用[.reference_title] -...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
「已注销」
CSDN认证博客专家
CSDN认证企业博客
码龄3年
Java领域新星创作者
1114
原创
-
周排名
-
总排名
60万+
访问
等级
1万+
积分
1万+
粉丝
597
获赞
333
评论
1128
收藏
私信
关注
热门文章
一线大厂面试难度最新排行
35445
spring security面试题
15012
AuthenticationManager详解
12138
解决macOS系统向日葵远控无法被远程控制问题
10091
‘APPLICATION_JSON_UTF8_VALUE‘ is deprecated【已解决】
9810
分类专栏
创作者
实现买下蛋糕店梦想
12篇
从入门到学废
13篇
技术专项文档
4篇
大厂面试题系列
4篇
笔记
2篇
最新评论
ExceptionTranslationFilter详解
慢腾腾的悠闲:
想问一下我就是登录的接口请求,为什么也会被这个异常转换器因为权限而抓到呢
spring Security 的requestMatchers方法
你猜不到喔:
http.requestMatchers().anyRequest().and().authorizeRequests().antMatchers("/test/").authenticated();配置和http.requestMatchers().antMatchers("/test/").and().authorizeRequests().antMatchers("/**").authenticated();配置完效果一样?
微服务架构授权是在网关做还是在微服务做?
lzh0533:
写的这么好为啥没人咱赞呢--
Session管理机制
傻高尚:
笑死 刚学到这 和我看到的原文档一样
【每日一题】一起冲击蓝桥杯吧——Day07【蓝桥真题一起练】
异次元技术宅OuO:
这是递归吧,太多if嵌套了
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
【每日一题】一起冲击蓝桥杯吧——Day09【蓝桥真题一起练】
【每日一题】一起冲击蓝桥杯吧——Day07【蓝桥真题一起练】
【从入门到学废---Maven】全站最强Maven学习笔记
2022年13篇
2021年1096篇
2020年5篇
目录
目录
分类专栏
创作者
实现买下蛋糕店梦想
12篇
从入门到学废
13篇
技术专项文档
4篇
大厂面试题系列
4篇
笔记
2篇
目录
评论 2
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值
maven是什么意思_maven怎么读_maven翻译_用法_发音_词组_同反义词_专家_内行-新东方在线英语词典
maven是什么意思_maven怎么读_maven翻译_用法_发音_词组_同反义词_专家_内行-新东方在线英语词典
英语词典 -
日语词典
首页 > 英语词典 > 字母单词表 > m开头的单词 > maven
maven
听听怎么读
英 [ˈmeɪvn]
美 [ˈmevən]
是什么意思
n.专家,内行;
英英释义
maven[ 'meivin ]n.someone who is dazzlingly skilled in any field同义词:aceadeptchampionsensationmavinvirtuosogeniushotshotstarsuperstarwhizwhizzwizardwiz
学习怎么用
双语例句
用作名词(n.)You'll be a negotiating maven if you do this.掌握了这些要领,你将成为一个谈判高手。The results show that market maven personality is the most important factor.研究结果显示,市场行家特质是最重要的影响因素。
权威例句
Preliminary Screening of Seaweeds, Seagrass and Lemongrass Oil from Papua New Guinea for Antimicrobial and Antifungal ActivityProtective action of anisomycin in mice infected with Trichomonas foetus.Sulfur-bearing residue treatment systemMars Atmosphere and Volatile EvolutioN Mission (MAVEN)The Mars Atmosphere and Volatile Evolution (MAVEN) Mars Scout MissionConcept and method to enable filterless, efficient operation of Class-D amplifiersTrends in aerosol optical depth for cities in IndiaIn Silico Identification of Common Putative Drug Targets among the Pathogens of Bacterial MeningitisThe inhibition of human glutathione S-transferases activity by plant polyphenolic compounds ellagic acid and curcuminThe substituted aspartate analogue l -β- threo -benzyl-aspartate preferentially inhibits the neuronal excitatory amino acid transpo...
同义词specialist
sharp
expert
connoisseur 同根词mavin m开头的单词mystery shopper
mystery story
myoglobin isoenzyme of creatine kinase
mystery novel
myosin light chain kinase
myotonic dystrophy
myocardial infarction
mycoplasma pneumonia
mycosis fungoides
myeloid stem cell
mycobacterium tuberculosis
Mycophenolate Mofetil 词汇所属分类Google大数据2.9万高频美语词汇表
Effective C++:改善程序与设计的55个具体做法
社会中的"人"
CFA & Comprisal VOJ
玩LOL学英语(英雄称号篇)
Vocabulary.com 字母词汇表更多d开头的单词dziggetai
dz
Dytiscidae
dysuric
dysuria
dystrophy
l开头的单词LZ
Lytton
lyttae
lytta
Lytle
lytic
z开头的单词zythum
zymurgy
zymotic
zymosterol
zymosis
zymoses 分类词汇表更多节日winter vacation
watermelon seed
variety show
traditional opera
The Spring Festival
The lantern Festival
其他词汇书zymurgy
zymurgy
zymurgy
zymoscope
zymology
zygote
SAT词汇书zoology
zoning
zombie
zombie
zombie
zombie 人名姓氏表更多男zack
zachary
Zachariah
young
York
Yates
女Zola
Zoe
Zenobia
Zenia
Zena
Zandra
男/女Yong
wynn
winter
willie
Whitney
wally 新东方柯林斯词典 托福考试练习 雅思预测2024年雅思考试重点题汇总[听力|阅读|写作|口语]
2024年2月雅思考试听力|阅读|写作|口语重点题汇总
2024年1月雅思考前必刷题听力|阅读|口语|写作汇总
2024年3月雅思考试听力|阅读|写作|口语重点题汇总
[雅思考前必刷]2024年1月雅思口语考前必刷题Part 2&3地点类
2020年9月雅思口语新题part1:shopping
2021年1月雅思口语新题part2:你认为可以教别人的技能
[雅思考前必刷]2024年1月雅思口语考前必刷题Part 2&3事件类
2020年9月雅思口语新题part1:Activity
2021年1月雅思口语新题part2:你以前看过的现场体育赛事
关于我们
商务合作
广告服务
代理商区域
客服中心
在线留言
合作伙伴
人员招聘
联系我们
网站地图
© 2000-2024 koolearn.com 版权所有 全国客服专线:400-676-2300
京ICP证050421号 京ICP备05067669号-2 京公安备110-1081940 网络视听许可证0110531号
新东方教育科技集团旗下成员公司
怎么发音 maven | HowToPronounce.com
怎么发音 maven | HowToPronounce.com
词典
集合
测验
社会
贡献
Certificate
网站的语言
中文
Deutsch
English
Español
Français
Italiano
Magyar
Nederlands
Polski
Português
Pусский
Română
Svenska
Türkçe
čeština
Ελληνικά
עִברִית
日本人
没有找到结果
{{app.scroll_content}}
maven 如何发音?
英语
发音
集合
测验
所有的语言
{{app['fromLang']['value']}} -> {{app['toLang']['value']}}
{{app['user_lang_model']}}
x
发音
翻译
集合
测验
X
"确定"
英语
南非荷兰语
阿尔巴尼亚
阿姆哈拉语
阿拉伯文
亚美尼亚
azerbaijan
巴斯克
孟加拉
波斯尼亚
保加利亚
缅甸
加泰罗尼亚语
中国
克罗地亚
捷克
丹麦
荷兰
世界
爱沙尼亚
菲律宾人
芬兰
法语
加利西亚
格鲁吉亚
德
希腊
古吉拉特
希伯来语
印地语
匈牙利
冰岛
印度尼西亚
爱尔兰
意大利语
日本
爪哇
卡纳达语
哈萨克斯坦
高棉
韩国
老挝
拉丁
拉脱维亚
立陶宛
马其顿
马来
马拉雅拉姆语
马耳他
马拉
蒙古
尼泊尔
挪威
普什图语
波斯
波兰
葡萄牙
罗马尼亚
俄罗斯
塞尔维亚
僧伽罗语
斯洛伐克
斯洛文尼亚
索马里
西班牙语
巽
斯瓦希里语
瑞典
泰米尔
泰卢固语
泰国
土耳其
乌克兰
乌尔都语
乌兹别克斯坦
越南语
威尔士
祖鲁语
所有的语言
英语
阿拉伯文
缅甸
中国
法语
德
印地语
印度尼西亚
意大利语
日本
韩国
葡萄牙
俄罗斯
西班牙语
土耳其
{{temp['translated_content']}}
添加的词
100
增加一个发音
150
添加收藏
200
创建测验
500
登录在 或
注册
发音
试音
视频
含义
同义词
测验
集合
维基
句子
翻译
新闻
评论意见
学学怎么发音的 maven
maven
X
X
评价的困难发音
3
/5
(11 选民)
很容易的
容易的
温和的
困难
非常困难的
谢谢你的投票!
发音 maven 5 个音频发音
64
收视率
评价
收视率
2
收视率
评价
收视率
1
评价
评价
收视率
0
评价
评价
收视率
0
评价
评价
收视率
IPA 和拼音
ipa :
ˈmeɪvɪn
记录和聆听的发音
学习 发音maven
实践模式
x
x
x
记录
点击记录键的发音
不幸的是,这一浏览器,不支持语音记录
不幸的是,这种设备不支持话音记录
记录
点击记录再次按下按钮来完成记录
玩
停止
再次记录
贡献 adduse
您可以将 maven 的音频发音贡献给 HowToPronounce 词典。
贡献
你完成了你的记录?
是的
不,我想继续
你完成了你的记录?
是的
不,我想继续
谢谢你的贡献
恭喜! 你已经得到了发音maven权利。 跟上。
哎呀! 似乎喜欢你发音maven不是正确的。 你可以再试一次。
原始音频
你的声音
恭喜!你已经赚了 {{app.voicePoint}} points
再试一次
因为你已经超过了你的时间限制,你的记录已经停止。
"确定"
你能读这个词更好
或者宣布在不同的口音
促进模式
x
x
x
记录
点击记录键的发音
不幸的是,这一浏览器,不支持语音记录
不幸的是,这种设备不支持话音记录
记录
点击记录再次按下按钮来完成记录
玩
停止
再次记录
贡献 adduse
您可以将 maven 的音频发音贡献给 HowToPronounce 词典。
贡献
你完成了你的记录?
是的
不,我想继续
你完成了你的记录?
是的
不,我想继续
谢谢你的贡献
恭喜! 你已经得到了发音maven权利。 跟上。
哎呀! 似乎喜欢你发音maven不是正确的。 你可以再试一次。
原始音频
你的声音
恭喜!你已经赚了 {{app.voicePoint}} points
再试一次
因为你已经超过了你的时间限制,你的记录已经停止。
"确定"
通过视频学习 maven 的发音
看字幕
X
({{youtube.searchResult.length}})
({{youtube.currentSearch+1}} / {{youtube.searchResult.length}})
语音拼写maven
maven
0
评价
评价
收视率
Beverly Bradtke
mey-vuh n
0
评价
评价
收视率
私
添加语音拼写
取消
谢谢你的贡献
你是不是记录。.
请
登录在 或
注册
或职位作为一个客人
提交
含义为 maven
It is a person who is an expert in a field and would like to pass his knowledge to others.
0
评价
评价
收视率
Summer Muller
添加一个含义
取消
谢谢你的贡献
你是不是记录。.
请
登录在 或
注册
或职位作为一个客人
提交
maven 的同义词
connoisseur
78
收视率
评价
收视率
Odell Reynolds
fancier
74
收视率
评价
收视率
Karley McCullough
adept
70
收视率
评价
收视率
Catharine Lueilwitz
star
66
收视率
评价
收视率
Darrell Daniel
proficient
62
收视率
评价
收视率
私
{{synonym.word}}
{{synonym.vote_count}}
收视率
评价
评价
收视率
私
{{synonym.uname}}
显示 更多 更少 同义词
增加的同义词
取消
谢谢你的贡献
你是不是记录。.
请
登录在 或
注册
或职位作为一个客人
提交
了解更多有关这个词 "maven" 其来源、替代形式,并使用情况 从言词典。
测验maven
{{ quiz.name }}
{{ quiz.questions_count }} 的问题
玩
显示 更多 更少 测验
上maven的收藏
{{collection.cname}}
{{collection.count}}
查看收藏
-私
-{{collection.uname}}
显示 更多 更少 集合
Wiki内容为 maven
Maven
Maven Huffman
Mavenir
Mavenir Systems
Maven (Scrabble)
{{wiki_api.name}}
{{' - '+wiki_api.description}}
显示 更多 更少 维基
例子中的一个句子
Weekend Feature: Book Maven Discusses Nonfiction Picks
0
评价
评价
收视率
Maisie Cooper
Maven Launches MavenRx To Further Strengthen Its Award ...
0
评价
评价
收视率
Eleonore Stanton
CORRECT: Maven Income & Growth VCT and VCT 5 complete ...
0
评价
评价
收视率
Avis Konopelski
Maven, Publisher of SI and TheStreet, Taps Rob Barrett as ...
0
评价
评价
收视率
Monica da Silva
Rachel Riley cradles baby Maven as she leaves Countdown ...
0
评价
评价
收视率
Lula Purdy
{{phrase.phrase }}
{{phrase.vote_count}}
收视率
评价
评价
收视率
私
{{phrase.uname}}
显示 更多 更少 句子
添加一个句子
取消
谢谢你的贡献
maven应当在句子
你是不是记录。.
请
登录在 或
注册
或职位作为一个客人
提交
翻译 maven
Arabic :
مخضرم
27
收视率
评价
收视率
AymanKhalaf
Telugu :
మావెన్
23
收视率
评价
收视率
Venkat
Tamil :
மேவன்
19
收视率
评价
收视率
Vijay Parmar
Chinese :
行家
14
收视率
评价
收视率
Jenifer Torp
Hindi :
मावेन
10
收视率
评价
收视率
Shanny Boehm
{{trans_lang}}:
{{view.translationsData[trans_lang][0].word}}
{{view.translationsData[trans_lang][0].vote_count}}
收视率
评价
评价
收视率
私
{{view.translationsData[trans_lang][0].username}}
{{translation.word}}
{{translation.vote_count}}
收视率
评价
评价
收视率
私
{{translation.uname }}
显示 更多 更少 翻译
翻译这个词或词组
取消
谢谢你的贡献
选择一种语言
南非荷兰语
阿尔巴尼亚
阿姆哈拉语
阿拉伯文
亚美尼亚
azerbaijan
巴什基尔
巴斯克
白俄罗斯
孟加拉
波斯尼亚
breton
保加利亚
缅甸
加泰罗尼亚语
中国
克罗地亚
捷克
丹麦
荷兰
英语
世界
爱沙尼亚
菲律宾人
芬兰
法语
加利西亚
格鲁吉亚
德
希腊
古吉拉特
haitian
Hawaiian
希伯来语
印地语
匈牙利
冰岛
印度尼西亚
爱尔兰
意大利语
日本
爪哇
卡纳达语
哈萨克斯坦
高棉
韩国
吉尔吉斯斯坦
老挝
拉丁
拉脱维亚
立陶宛
卢森堡的
马其顿
马达加斯加
马来
马拉雅拉姆语
马耳他
国语
毛利人的
马拉
蒙古
尼泊尔
挪威
普什图语
波斯
波兰
葡萄牙
旁遮普语
罗马尼亚
俄罗斯
苏格兰盖尔语
塞尔维亚
僧伽罗语
斯洛伐克
斯洛文尼亚
索马里
西班牙语
巽
斯瓦希里语
瑞典
他加禄语
塔吉克斯坦
泰米尔
鞑靼
泰卢固语
泰国
土耳其
乌克兰
乌尔都语
乌兹别克斯坦
越南语
威尔士
科萨语
犹太语
祖鲁语
你是不是记录。.
请
登录在 或
注册
或职位作为一个客人
提交
新闻趋势 maven
Maven's Memories: The 2002-03 Homestretch | NHL.com
Maven's Haven. Although his club's record was a lackluster 8-13-3 Peter received news that Milbury had picked up the following year's $500,000 option on his contract. Refreshed and newly con..查看文章
National Hockey League
Raven the Science Maven Has a Message for Aspiring STEM ...
Diversity has always been an issue in STEM. Although a 2018 Pew report found that women make up half of the U.S. workforce in STEM occupations, it also found that their presence varies widel..查看文章
Gizmodo
Maven's Memories: Jim Devellano, The Other Architect | NHL.com
Jim Devellano told them that he was looking for a hockey job and maybe the Islanders' General Manager could help him out. As luck would have it, Torrey eventually would help The Little Guy a..查看文章
National Hockey League
Adimo aims for US after Maven raises funds – Daily Business
Maven Capital Partners, an investor in smaller businesses, has led a £1.54 million funding round for Glasgow-based Adimo, a marketing technology platform to help expand its service into the..查看文章
dailybusinessgroup.co.uk
Caster Q&A: CDL commentator ‘Maven’ says first major will ...
The first major of the second Call of Duty League season kicks off Wednesday. The defending champion, the Dallas Empire, persevered through a bumpy week
Dallas Morning News
{{news_api.phrase.phrase}}
{{news_api.description}}
{{news_api.provider[0]['name']}}
显示 更多 更少 新闻
添加 maven 详细信息
反义词 maven
添加的反义词
取消
谢谢你的贡献
你是不是记录。.
请
登录在 或
注册
或职位作为一个客人
提交
评论maven
后
{{comment[1]}}
回复
后
{{reply}}
{{comment[0].pname }}
{{comment[0].pname }}
{{comment[0].pmsg}}
回复
后
{{reply}}
{{reply.cname }}
{{reply.cname }}
{{reply.cmsg}}
maven与发音含义,同义词,反义词,翻译,刑和更多的
怎么发音 Ryan phillippe?
rai-uhn feh-li-pay
rai-uhn feh-li-pay
rai-uhn feh-lipay
rai-uhn feh-lipay
raiuhn feh-li-pay
raiuhn feh-li-pay
发音调查
投票
问问你的朋友
X
X
流行集
French words
-Gloria Mary
30
Hispanic celebrities and sports-persons
-Gloria Mary
30
Real Madrid Squad / Player List 2020-21
-John Dennis G.Thomas
35
Dutch vocabulary
-Gloria Mary
30
World's Best Airport
-私
10
Welsh
-Gloria Mary
31
热门测验
Joe Biden
10
的问题
1912
尝试次数
Selena Gomez
10
的问题
2310
尝试次数
Abbreviation of Computer Terms
15
的问题
1019
尝试次数
Windows Operating System
10
的问题
1025
尝试次数
KIM SEOK-jin
10
的问题
2010
尝试次数
Spell it right!
15
的问题
4333
尝试次数
趋势 HowToPronounce
rhytidoplasty [en]
aubrey [en]
machu picchu [en]
Jolene [en]
mls [en]
Rodolfo [en]
Lazio [en]
Austin Ekeler [en]
Derrick Henry [en]
Jonathan Glazer [en]
Naheed Nenshi [en]
The Zone of Interest [en]
lau [en]
Sebastian [en]
Rao [en]
每日一词
Croesus
[ kree-suh s ]
学习发音
最新的文字提交
Irish lavender
[en]
Irabia
[en]
İntrigued
[en]
boulvèse
[en]
Math blaster
[en]
最后更新
三月 11, 2024
近看的话
vying
[en]
PROMECH
[en]
Yilia
[en]
plantain flower
[en]
payagalage
[en]
最后更新
三月 12, 2024
标志字/发音
×
嵌入
分享
链接
×
Create a quiz
×
欢呼!您已解锁奖杯
{{app.userTrophy[app.userTrophyNo].hints}}
"确定"
X
音频发音的词典89语言的含义,同义词,句子的使用、翻译等等。
话
名字
地方
药物
学会的发音的词
南非荷兰语
阿尔巴尼亚
阿姆哈拉语
阿拉伯文
亚美尼亚
azerbaijan
巴斯克
孟加拉
波斯尼亚
保加利亚
缅甸
加泰罗尼亚语
中国
克罗地亚
捷克
丹麦
荷兰
英语
世界
爱沙尼亚
菲律宾人
芬兰
法语
加利西亚
格鲁吉亚
德
希腊
古吉拉特
希伯来语
印地语
匈牙利
冰岛
印度尼西亚
爱尔兰
意大利语
日本
爪哇
卡纳达语
哈萨克斯坦
高棉
韩国
老挝
拉丁
拉脱维亚
立陶宛
马其顿
马来
马拉雅拉姆语
马耳他
马拉
蒙古
尼泊尔
挪威
普什图语
波斯
波兰
葡萄牙
罗马尼亚
俄罗斯
塞尔维亚
僧伽罗语
斯洛伐克
斯洛文尼亚
索马里
西班牙语
巽
斯瓦希里语
瑞典
泰米尔
泰卢固语
泰国
土耳其
乌克兰
乌尔都语
乌兹别克斯坦
越南语
威尔士
祖鲁语
每日一词在你的收件箱,每天
March 12, 2024
Croesus
学习发音 >>
订阅了解和宣布一个新单词的每一天!
订阅
Subscribed
please enter a valid email address
© 2024 HowToPronounce. 所有权保留
条款
隐私
饼干
联系我们
广告
×
x
x
学Maven,这篇万余字的教程,真的够用了! - 知乎
学Maven,这篇万余字的教程,真的够用了! - 知乎首发于java工程师成神之路切换模式写文章登录/注册学Maven,这篇万余字的教程,真的够用了!java架构师1 Maven 介绍1.1 为什么使用 Maven由于 Java 的生态非常丰富,无论你想实现什么功能,都能找到对应的工具类,这些工具类都是以 jar 包的形式出现的,例如 Spring,SpringMVC、MyBatis、数据库驱动,等等,都是以 jar 包的形式出现的,jar 包之间会有关联,在使用一个依赖之前,还需要确定这个依赖所依赖的其他依赖,所以,当项目比较大的时候,依赖管理会变得非常麻烦臃肿,这是 Maven 解决的第一个问题。Maven 还可以处理多模块项目。简单的项目,单模块分包处理即可,如果项目比较复杂,要做成多模块项目,例如一个电商项目有订单模块、会员模块、商品模块、支付模块...,一般来说,多模块项目,每一个模块无法独立运行,要多个模块合在一起,项目才可以运行,这个时候,借助 Maven 工具,可以实现项目的一键打包。Maven 之前,我们更多的是使用 Ant 的项目构建工具,Ant 有一个特点,每次都得写,每次都写的差不多,配置也臃肿。所以,后来搞出来 Maven。Maven 就是最先进的版本构建工具吗?不是的,只不过,目前在 Java 领域 Maven 使用比较多。除了 Maven,还有 Gradle。1.2 Maven 是什么Maven 是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),反映在配置中,就是一个 pom.xml 文件。是一组标准集合,一个项目的生命周期、一个依赖管理系统,另外还包括定义在项目生命周期阶段的插件(plugin)以及目标(goal)。当我们使用 Maven 的使用,通过一个自定义的项目对象模型,pom.xml 来详细描述我们自己的项目。Maven 中的有两大核心:依赖管理:对 jar 的统一管理(Maven 提供了一个 Maven 的中央仓库,mvnrepository.com/,当我们在项目中添加完… 会自动去中央仓库下载相关的依赖,并且解决依赖的依赖问题)项目构建:对项目进行编译、测试、打包、部署、上传到私服等2. Maven 安装Maven 是 Java 项目,因此必须先安装 JDK。下载 Maven:下载 Maven下载地址:maven.apache.org/download.cg…解压并配置配置,只需要配置环境变量即可:首先配置 MAVEN_HOME:然后配置环境变量:检验安装如果使用了 IntelliJ IDEA ,可以不用去额外下载 Maven,直接使用 IDEA 中自带的 Maven 插件即可。IntelliJ IDEA 中自带的 Maven 插件在 \ideaIU-2019.2.4.win\plugins\maven\lib\maven33. Maven 配置实际上,没有特殊需求的话,安装好之后直接就可以用了。一般来说,还是需要稍微配置一下,比如中央仓库的问题。默认使用 Maven 自己的中央仓库,使用起来网速比较慢,这个时候,可以通过修改配置文件,将仓库改成国内的镜像仓库,国内仓库使用较多的是阿里巴巴的仓库。3.1 仓库类型现在存在 3 个仓库,那么 jar 包如何查找呢?3.2 本地仓库配置本地仓库默认位置在 当前用户名\.m2\repository,这个位置可以自定义,但是不建议大家自定义这个地址,有几个原因:虽然所有的本地的 jar 都放在这个仓库中,但是并不会占用很大的空间。默认的位置比较隐蔽,不容易碰到技术上来说,当然是可以自定义本地仓库位置的,在 conf/settings.xml 中自定义本地仓库位置:3.3 远程镜像配置由于默认的中央仓库下载较慢,因此,也可以将远程仓库地址改为阿里巴巴的仓库地址:
复制代码这段配置,加在 settings.xml 中的 mirrors 节点中:4. Maven 常用命令Maven 中有一些常见的命令,如果使用 Eclipse 需要手动敲命令,如果使用 IDEA 的话,可以不用命令,直接点点点就可以了。这里需要注意的是,这些命令都不是独立运行的,它有一个顺序。举个简单例子:我想将 jar 上传到私服,那么就要构建 jar,就需要执行 package 命令,要打包,当然也需要测试,那就要走 mvn test 命令,要测试就要先编译.....,因此,最终所有的命令都会执行一遍。不过,开发者也可以手动配置不执行某一个命令,这就是跳过。一般来是,除了测试,其他步骤都不建议跳过。当然,如果开发者使用了 IDEA ,这些命令不用手动敲,点一下就行:4.1 通过命令来构建项目可以直接通过命令来构建一个 Maven 项目,不过在实际开发中,一般使用 Eclipse 或者 IDEA 就可以直接创建 Maven 项目了。创建命令:mvn archetype:generate -DgroupId=org.javaboy -DartifactId=firstapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
复制代码看到如下提示,表示项目创建成功:项目创建成功后,就两个文件:说明对一个任何一个项目而言,最最核心的就是这两个。pom.xml 中,则定义了所有的项目配置。4.2 对项目进行打包接下来,我们通过 mvn package 命令可以将刚刚创建的项目打成一个 jar 包。在打包之前,需要配置 JDK 的版本至少为 7 以上,因此,我们还需要手动修改一下 pom.xml 文件,即添加如下配置:添加完成后,执行打包命令,注意执行所有命令时,命令行要定位到 pom.xml 文件所在的目录,看到如下提示,表示项目打包成功。4.3 将项目安装到本地仓库如果需要将项目安装到本地仓库,可以直接执行 mvn install 命令,注意,mvn install 命令会包含上面的 mvn package 过程。安装到本地仓库之后,这个时候,点开自己的本地仓库,就可以看到相关的 jar 了。5. IDEA 中使用 Maven不同于 Eclipse,IDEA 安装完成后,就可以直接使用 Maven 了。5.1 Maven 相关配置IDEA 中,Maven 的配置在 File->Settings->Build,Execution,Deployment->Build Tools->Maven:5.2 JavaSE 工程创建首先在创建一个工程时,选择 Maven 工程:如果勾选上 Create from archetype ,则表示可以根据一个项目骨架(项目模板)来创建一个新的工程,不过,如果只是创建 JavaSE 项目,则不用选择项目骨架。直接 Next 即可。然后填入项目的坐标,即 groupId 和 artifactId。填完之后,直接 Next 即可。这样,我们就会获取一个 JavaSE 工程,项目结构和你用命令创建出来的项目一模一样。5.3 JavaWeb 工程创建在 IDEA 中,创建 Maven Web 项目,有两种思路:首先创建一个 JavaSE 项目,然后手动将 JavaSE 项目改造成一个 JavaWeb 项目创建项目时选择项目骨架,骨架就选择 webapp两种方式中,推荐使用第一种方式。5.3.1 改造 JavaSE 项目这种方式,首先创建一个 JavaSE 项目,创建步骤和上面的一致。项目创建完成后,首先修改 pom.xml ,配置项目的打包格式为 war 包。 这样,IDEA 就知道当前项目是一个 Web 项目:然后,选中 JavaSE 工程,右键单击,选择 Open Module Settings,或者直接按 F4,然后选择 Web,如下图:接下来,在 webapp 目录中,添加 web.xml 文件。注意,一定要修改 web.xml 文件位置:配置完成后,点击 OK 退出。项目创建完成后,接下来就是部署了。部署,首先点击 IDEA 右上角的 Edit Configurations:然后,配置 Tomcat:接下来选择 Deployment 选项卡,配置要发布的项目:最后,点击 IDEA 右上角的三角符号,启动项目。5.3.2 通过 webapp 骨架直接创建这种方式比较简单,基本上不需要额外的配置,项目创建完成后,就是一个 web 项目。只需要我们在创建项目时,选择 webapp 骨架即可。选择骨架之后,后面的步骤和前文一致。项目创建成功后,只有 webapp 目录,这个时候,自己手动创建 java 和 resources 目录,创建完成后,右键单击,选择 Mark Directory As,将 java 目录标记为 sources root,将 resources 目录标记为 resources root 即可。凡是在 IDEA 右下角看到了 Enable Auto Import 按钮,一定点一下6. Maven 依赖管理Maven 项目,如果需要使用第三方的控件,都是通过依赖管理来完成的。这里用到的一个东西就是 pom.xml 文件,概念叫做项目对象模型(POM,Project Object Model),我们在 pom.xml 中定义了 Maven 项目的形式,所以,pom.xml 相当于是 Maven 项目的一个地图。就类似于 web.xml 文件用来描述三大 web 组件一样。这个地图中都涉及到哪些东西呢?6.1 Maven 坐标
复制代码dependencies在 dependencies 标签中,添加项目需要的 jar 所对应的 maven 坐标。dependency一个 dependency 标签表示一个坐标groupId团体、公司、组织机构等等的唯一标识。团体标识的约定是它以创建这个项目的组织名称的逆向域名(例如 org.javaboy)开头。一个 Maven 坐标必须要包含 groupId。一些典型的 groupId 如 apache 的 groupId 是 org.apache.artifactIdartifactId 相当于在一个组织中项目的唯一标识符。version一个项目的版本。一个项目的话,可能会有多个版本。如果是正在开发的项目,我们可以给版本号加上一个 SNAPSHOT,表示这是一个快照版(新建项目的默认版本号就是快照版)scope表示依赖范围。我们添加了很多依赖,但是不同依赖的使用范围是不一样的。最典型的有两个,一个是数据库驱动,另一个是单元测试。数据库驱动,在使用的过程中,我们自己写代码,写的是 JDBC 代码,只有在项目运行时,才需要执行 MySQL 驱动中的代码。所以,MySQL 驱动这个依赖在添加到项目中之后,可以设置它的 scope 为 runtime,编译的时候不生效。单元测试,只在测试的时候生效,所以可以设置它的 scope 为 test,这样,当项目打包发布时,单元测试的依赖就不会跟着发布。6.2 依赖冲突依赖冲突产生的原因在图中,a.jar 依赖 b.jar,同时 a.jar 依赖 d.jar,这个时候,a 和 b、d 的关系是直接依赖的关系,a 和 c 的关系是间接依赖的关系。6.2.1 冲突解决先定义先使用路径最近原则(直接声明使用)以 spring-context 为例,下图中 x 表示失效的依赖(优先级低的依赖,即路径近的依赖优先使用):上面这两条是默认行为。我们也可以手动控制。手动控制主要是通过排除依赖来实现,如下:
复制代码这个表示从 spring-context 中排除 spring-core 依赖。7. Maven 私服Maven 仓库管理也叫 Maven 私服或者代理仓库。使用 Maven 私服有两个目的:私服是一个介于开发者和远程仓库之间的代理私服可以用来部署公司自己的 jar7.1 Nexus 介绍Nexus 是一个强大的 Maven 仓库管理工具,使用 Nexus 可以方便的管理内部仓库同时简化外部仓库的访问。官网是:www.sonatype.com/7.2 安装下载下载地址:www.sonatype.com/download-os…解压将下载下来的压缩包,拷贝到一个没有中文的路径下,然后解压。启动解压之后,打开 cmd 窗口(以管理员身份打开 cmd 窗口),然后定位了 nexus 解压目录,执行 nexus.exe/run 命令启动服务。这个启动稍微有点慢,大概有 1 两分钟的样子启动成功后,浏览器输入 http://lcoalhost:8081 打开管理页面。打开管理页面后,点击右上角上的登录按钮进行登录,默认的用户名/密码是 admin/admin123。当然,用户也可以点击设置按钮,手动配置其他用户。点击 Repositories 可以查看仓库详细信息:7.2.1 仓库类型7.2.2 上传 jar上传 jar,配置两个地方:Maven 的 conf/settings.xml 文件配置:
复制代码在要上传 jar 的项目的 pom.xml 文件中,配置上传路径:
复制代码配置完成后,点击 deploy 按钮,或者执行 mvn deploy 命令就可以将 jar 上传到私服上。7.2.3 下载私服上的 jar直接在项目中添加依赖,添加完成后,额外增加私服地址即可:
复制代码8. 聚合工程所谓的聚合工程,实际上也就是多模块项目。在一个比较大的互联网项目中,项目需要拆分成多个模块进行开发,比如订单模块、VIP 模块、支付模块、内容管理模块、CMS、CRM 等等。这种拆分方式,实际上更接近于微服务的思想。在一个模块中,还可以继续进行拆分,例如分成 dao、service、controller 等。有人可能会说,这个分包不就行了吗?小项目当然可以分包,大项目就没法分包了。比如,在一个大的电商系统中,有一个子模块叫做用户管理、还有一个子模块叫做订单管理,这两个子模块都涉及到用户,像这种情况,我们就需要将用户类单独提取出来,做成单独的模块,供其他模块调用。8.1 多模块项目展示|--javaboy-parent
|-- javaboy-cms
|-- javaboy-crm
|-- javaboy-manger
|-- javaboy-manager-model
|-- javaboy-manager-dao
|-- javaboy-manager-service
|-- javaboy-manager-web
复制代码以 javaboy-manger 为例,javaboy-manager 本身并不提供功能,它只负责管理他自己的子模块,而他的子模块每一个都无法独立运行,需要四个结合在一起,才可以运行。项目打包时,model、dao、service 都将打包成 jar,然后会自动将打包好的 jar 复制到 web 中,再自动将 web 打包成 war 包。8.2 IDEA 中创建聚合工程1.创建一个空的 Maven 项目:项目创建完成后,由于 parent 并不参与业务的实现,只是用来管理它的子模块,因此,src 目录可以将其删除。2.选中当前工程,右键单击,New->Module然后继续选择创建一个 Maven 项目:在 IDEA 中,已经默认指明了当前 Module 的 parent,开发者只需要填入当前 Module 的 artifactId 即可:javaboy-manager 创建完成后,此时,观察 javaboy-parent 的 pom.xml 文件,发现它自动加上了 packing 属性:其中,它的 packaging 属性值为 pom,这表示它是一个聚合工程,同时,他还多了 modules 节点,指明了它自己的子模块。 同时,注意 javaboy-manager ,它自身多了一个 parent 节点,这个 parent 节点描述了它的父模块的属性值:
复制代码这个 parent 不仅仅是一个简单的父子关系描述,它存在继承关系,一般我们可以在 parent 中统一定义依赖或者插件的版本号3.由于 javaboy-manager 本身也是一个聚合工程,因此,javaboy-manager 的 src 目录也可以删除。4.选中 javaboy-manager,右键单击,New->Module 创建一个新的 Maven 模块出来。这个步骤类似于第二步,不在赘述。 这里,新的 javaboy-manager-model 创建成功后,我们手动配置它的 packaging 属性值为 jar。5.依照第 4 步,再分别创建 javaboy-manager-service 以及 javaboy-manager-dao 6.继续创建 javaboy-manager-web 模块,不同于其他模块,web 模块需要打包成 war。web 模块创建可以参考【第五篇文章】。 7.web 工程创建完成后,完善模块之间的继承关系。javaboy-manager-web 依赖 javaboy-manager-service javaboy-manager-service 依赖 javaboy-manager-dao javaboy-manager-dao 依赖 javaboy-manager-model注意,依赖默认是有传递性的,即在 javaboy-manager-dao 中依赖了 javaboy-manager-model,在 javaboy-manager-service 也能访问到。配置后的依赖关系如下图:接下来就可以在不同的模块中写代码,然后进行项目部署了。部署方式参考【第五篇文章】有一个需要注意的地方,在多模块项目中,web 项目打包需要注意以下问题:不可以直接单独打包如果要打包,有两种方式:第一种就是先手动挨个将 model、dao、service 安装到本地仓库从聚合工程处打包,即从 web 的parent 处打包。链接:https://juejin.im/post/5df6ec...发布于 2019-12-17 16:02MavenjarJava 项目开发赞同 78添加评论分享喜欢收藏申请转载文章被以下专栏收录java工程师成神之路关注【ToBeTopJavaer】成就jav
学Maven,这篇万余字的教程,真的够用了! - 知乎
学Maven,这篇万余字的教程,真的够用了! - 知乎首发于java工程师成神之路切换模式写文章登录/注册学Maven,这篇万余字的教程,真的够用了!java架构师1 Maven 介绍1.1 为什么使用 Maven由于 Java 的生态非常丰富,无论你想实现什么功能,都能找到对应的工具类,这些工具类都是以 jar 包的形式出现的,例如 Spring,SpringMVC、MyBatis、数据库驱动,等等,都是以 jar 包的形式出现的,jar 包之间会有关联,在使用一个依赖之前,还需要确定这个依赖所依赖的其他依赖,所以,当项目比较大的时候,依赖管理会变得非常麻烦臃肿,这是 Maven 解决的第一个问题。Maven 还可以处理多模块项目。简单的项目,单模块分包处理即可,如果项目比较复杂,要做成多模块项目,例如一个电商项目有订单模块、会员模块、商品模块、支付模块...,一般来说,多模块项目,每一个模块无法独立运行,要多个模块合在一起,项目才可以运行,这个时候,借助 Maven 工具,可以实现项目的一键打包。Maven 之前,我们更多的是使用 Ant 的项目构建工具,Ant 有一个特点,每次都得写,每次都写的差不多,配置也臃肿。所以,后来搞出来 Maven。Maven 就是最先进的版本构建工具吗?不是的,只不过,目前在 Java 领域 Maven 使用比较多。除了 Maven,还有 Gradle。1.2 Maven 是什么Maven 是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),反映在配置中,就是一个 pom.xml 文件。是一组标准集合,一个项目的生命周期、一个依赖管理系统,另外还包括定义在项目生命周期阶段的插件(plugin)以及目标(goal)。当我们使用 Maven 的使用,通过一个自定义的项目对象模型,pom.xml 来详细描述我们自己的项目。Maven 中的有两大核心:依赖管理:对 jar 的统一管理(Maven 提供了一个 Maven 的中央仓库,mvnrepository.com/,当我们在项目中添加完… 会自动去中央仓库下载相关的依赖,并且解决依赖的依赖问题)项目构建:对项目进行编译、测试、打包、部署、上传到私服等2. Maven 安装Maven 是 Java 项目,因此必须先安装 JDK。下载 Maven:下载 Maven下载地址:maven.apache.org/download.cg…解压并配置配置,只需要配置环境变量即可:首先配置 MAVEN_HOME:然后配置环境变量:检验安装如果使用了 IntelliJ IDEA ,可以不用去额外下载 Maven,直接使用 IDEA 中自带的 Maven 插件即可。IntelliJ IDEA 中自带的 Maven 插件在 \ideaIU-2019.2.4.win\plugins\maven\lib\maven33. Maven 配置实际上,没有特殊需求的话,安装好之后直接就可以用了。一般来说,还是需要稍微配置一下,比如中央仓库的问题。默认使用 Maven 自己的中央仓库,使用起来网速比较慢,这个时候,可以通过修改配置文件,将仓库改成国内的镜像仓库,国内仓库使用较多的是阿里巴巴的仓库。3.1 仓库类型现在存在 3 个仓库,那么 jar 包如何查找呢?3.2 本地仓库配置本地仓库默认位置在 当前用户名\.m2\repository,这个位置可以自定义,但是不建议大家自定义这个地址,有几个原因:虽然所有的本地的 jar 都放在这个仓库中,但是并不会占用很大的空间。默认的位置比较隐蔽,不容易碰到技术上来说,当然是可以自定义本地仓库位置的,在 conf/settings.xml 中自定义本地仓库位置:3.3 远程镜像配置由于默认的中央仓库下载较慢,因此,也可以将远程仓库地址改为阿里巴巴的仓库地址:
复制代码这段配置,加在 settings.xml 中的 mirrors 节点中:4. Maven 常用命令Maven 中有一些常见的命令,如果使用 Eclipse 需要手动敲命令,如果使用 IDEA 的话,可以不用命令,直接点点点就可以了。这里需要注意的是,这些命令都不是独立运行的,它有一个顺序。举个简单例子:我想将 jar 上传到私服,那么就要构建 jar,就需要执行 package 命令,要打包,当然也需要测试,那就要走 mvn test 命令,要测试就要先编译.....,因此,最终所有的命令都会执行一遍。不过,开发者也可以手动配置不执行某一个命令,这就是跳过。一般来是,除了测试,其他步骤都不建议跳过。当然,如果开发者使用了 IDEA ,这些命令不用手动敲,点一下就行:4.1 通过命令来构建项目可以直接通过命令来构建一个 Maven 项目,不过在实际开发中,一般使用 Eclipse 或者 IDEA 就可以直接创建 Maven 项目了。创建命令:mvn archetype:generate -DgroupId=org.javaboy -DartifactId=firstapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
复制代码看到如下提示,表示项目创建成功:项目创建成功后,就两个文件:说明对一个任何一个项目而言,最最核心的就是这两个。pom.xml 中,则定义了所有的项目配置。4.2 对项目进行打包接下来,我们通过 mvn package 命令可以将刚刚创建的项目打成一个 jar 包。在打包之前,需要配置 JDK 的版本至少为 7 以上,因此,我们还需要手动修改一下 pom.xml 文件,即添加如下配置:添加完成后,执行打包命令,注意执行所有命令时,命令行要定位到 pom.xml 文件所在的目录,看到如下提示,表示项目打包成功。4.3 将项目安装到本地仓库如果需要将项目安装到本地仓库,可以直接执行 mvn install 命令,注意,mvn install 命令会包含上面的 mvn package 过程。安装到本地仓库之后,这个时候,点开自己的本地仓库,就可以看到相关的 jar 了。5. IDEA 中使用 Maven不同于 Eclipse,IDEA 安装完成后,就可以直接使用 Maven 了。5.1 Maven 相关配置IDEA 中,Maven 的配置在 File->Settings->Build,Execution,Deployment->Build Tools->Maven:5.2 JavaSE 工程创建首先在创建一个工程时,选择 Maven 工程:如果勾选上 Create from archetype ,则表示可以根据一个项目骨架(项目模板)来创建一个新的工程,不过,如果只是创建 JavaSE 项目,则不用选择项目骨架。直接 Next 即可。然后填入项目的坐标,即 groupId 和 artifactId。填完之后,直接 Next 即可。这样,我们就会获取一个 JavaSE 工程,项目结构和你用命令创建出来的项目一模一样。5.3 JavaWeb 工程创建在 IDEA 中,创建 Maven Web 项目,有两种思路:首先创建一个 JavaSE 项目,然后手动将 JavaSE 项目改造成一个 JavaWeb 项目创建项目时选择项目骨架,骨架就选择 webapp两种方式中,推荐使用第一种方式。5.3.1 改造 JavaSE 项目这种方式,首先创建一个 JavaSE 项目,创建步骤和上面的一致。项目创建完成后,首先修改 pom.xml ,配置项目的打包格式为 war 包。 这样,IDEA 就知道当前项目是一个 Web 项目:然后,选中 JavaSE 工程,右键单击,选择 Open Module Settings,或者直接按 F4,然后选择 Web,如下图:接下来,在 webapp 目录中,添加 web.xml 文件。注意,一定要修改 web.xml 文件位置:配置完成后,点击 OK 退出。项目创建完成后,接下来就是部署了。部署,首先点击 IDEA 右上角的 Edit Configurations:然后,配置 Tomcat:接下来选择 Deployment 选项卡,配置要发布的项目:最后,点击 IDEA 右上角的三角符号,启动项目。5.3.2 通过 webapp 骨架直接创建这种方式比较简单,基本上不需要额外的配置,项目创建完成后,就是一个 web 项目。只需要我们在创建项目时,选择 webapp 骨架即可。选择骨架之后,后面的步骤和前文一致。项目创建成功后,只有 webapp 目录,这个时候,自己手动创建 java 和 resources 目录,创建完成后,右键单击,选择 Mark Directory As,将 java 目录标记为 sources root,将 resources 目录标记为 resources root 即可。凡是在 IDEA 右下角看到了 Enable Auto Import 按钮,一定点一下6. Maven 依赖管理Maven 项目,如果需要使用第三方的控件,都是通过依赖管理来完成的。这里用到的一个东西就是 pom.xml 文件,概念叫做项目对象模型(POM,Project Object Model),我们在 pom.xml 中定义了 Maven 项目的形式,所以,pom.xml 相当于是 Maven 项目的一个地图。就类似于 web.xml 文件用来描述三大 web 组件一样。这个地图中都涉及到哪些东西呢?6.1 Maven 坐标
复制代码dependencies在 dependencies 标签中,添加项目需要的 jar 所对应的 maven 坐标。dependency一个 dependency 标签表示一个坐标groupId团体、公司、组织机构等等的唯一标识。团体标识的约定是它以创建这个项目的组织名称的逆向域名(例如 org.javaboy)开头。一个 Maven 坐标必须要包含 groupId。一些典型的 groupId 如 apache 的 groupId 是 org.apache.artifactIdartifactId 相当于在一个组织中项目的唯一标识符。version一个项目的版本。一个项目的话,可能会有多个版本。如果是正在开发的项目,我们可以给版本号加上一个 SNAPSHOT,表示这是一个快照版(新建项目的默认版本号就是快照版)scope表示依赖范围。我们添加了很多依赖,但是不同依赖的使用范围是不一样的。最典型的有两个,一个是数据库驱动,另一个是单元测试。数据库驱动,在使用的过程中,我们自己写代码,写的是 JDBC 代码,只有在项目运行时,才需要执行 MySQL 驱动中的代码。所以,MySQL 驱动这个依赖在添加到项目中之后,可以设置它的 scope 为 runtime,编译的时候不生效。单元测试,只在测试的时候生效,所以可以设置它的 scope 为 test,这样,当项目打包发布时,单元测试的依赖就不会跟着发布。6.2 依赖冲突依赖冲突产生的原因在图中,a.jar 依赖 b.jar,同时 a.jar 依赖 d.jar,这个时候,a 和 b、d 的关系是直接依赖的关系,a 和 c 的关系是间接依赖的关系。6.2.1 冲突解决先定义先使用路径最近原则(直接声明使用)以 spring-context 为例,下图中 x 表示失效的依赖(优先级低的依赖,即路径近的依赖优先使用):上面这两条是默认行为。我们也可以手动控制。手动控制主要是通过排除依赖来实现,如下:
复制代码这个表示从 spring-context 中排除 spring-core 依赖。7. Maven 私服Maven 仓库管理也叫 Maven 私服或者代理仓库。使用 Maven 私服有两个目的:私服是一个介于开发者和远程仓库之间的代理私服可以用来部署公司自己的 jar7.1 Nexus 介绍Nexus 是一个强大的 Maven 仓库管理工具,使用 Nexus 可以方便的管理内部仓库同时简化外部仓库的访问。官网是:www.sonatype.com/7.2 安装下载下载地址:www.sonatype.com/download-os…解压将下载下来的压缩包,拷贝到一个没有中文的路径下,然后解压。启动解压之后,打开 cmd 窗口(以管理员身份打开 cmd 窗口),然后定位了 nexus 解压目录,执行 nexus.exe/run 命令启动服务。这个启动稍微有点慢,大概有 1 两分钟的样子启动成功后,浏览器输入 http://lcoalhost:8081 打开管理页面。打开管理页面后,点击右上角上的登录按钮进行登录,默认的用户名/密码是 admin/admin123。当然,用户也可以点击设置按钮,手动配置其他用户。点击 Repositories 可以查看仓库详细信息:7.2.1 仓库类型7.2.2 上传 jar上传 jar,配置两个地方:Maven 的 conf/settings.xml 文件配置:
复制代码在要上传 jar 的项目的 pom.xml 文件中,配置上传路径:
复制代码配置完成后,点击 deploy 按钮,或者执行 mvn deploy 命令就可以将 jar 上传到私服上。7.2.3 下载私服上的 jar直接在项目中添加依赖,添加完成后,额外增加私服地址即可:
复制代码8. 聚合工程所谓的聚合工程,实际上也就是多模块项目。在一个比较大的互联网项目中,项目需要拆分成多个模块进行开发,比如订单模块、VIP 模块、支付模块、内容管理模块、CMS、CRM 等等。这种拆分方式,实际上更接近于微服务的思想。在一个模块中,还可以继续进行拆分,例如分成 dao、service、controller 等。有人可能会说,这个分包不就行了吗?小项目当然可以分包,大项目就没法分包了。比如,在一个大的电商系统中,有一个子模块叫做用户管理、还有一个子模块叫做订单管理,这两个子模块都涉及到用户,像这种情况,我们就需要将用户类单独提取出来,做成单独的模块,供其他模块调用。8.1 多模块项目展示|--javaboy-parent
|-- javaboy-cms
|-- javaboy-crm
|-- javaboy-manger
|-- javaboy-manager-model
|-- javaboy-manager-dao
|-- javaboy-manager-service
|-- javaboy-manager-web
复制代码以 javaboy-manger 为例,javaboy-manager 本身并不提供功能,它只负责管理他自己的子模块,而他的子模块每一个都无法独立运行,需要四个结合在一起,才可以运行。项目打包时,model、dao、service 都将打包成 jar,然后会自动将打包好的 jar 复制到 web 中,再自动将 web 打包成 war 包。8.2 IDEA 中创建聚合工程1.创建一个空的 Maven 项目:项目创建完成后,由于 parent 并不参与业务的实现,只是用来管理它的子模块,因此,src 目录可以将其删除。2.选中当前工程,右键单击,New->Module然后继续选择创建一个 Maven 项目:在 IDEA 中,已经默认指明了当前 Module 的 parent,开发者只需要填入当前 Module 的 artifactId 即可:javaboy-manager 创建完成后,此时,观察 javaboy-parent 的 pom.xml 文件,发现它自动加上了 packing 属性:其中,它的 packaging 属性值为 pom,这表示它是一个聚合工程,同时,他还多了 modules 节点,指明了它自己的子模块。 同时,注意 javaboy-manager ,它自身多了一个 parent 节点,这个 parent 节点描述了它的父模块的属性值:
复制代码这个 parent 不仅仅是一个简单的父子关系描述,它存在继承关系,一般我们可以在 parent 中统一定义依赖或者插件的版本号3.由于 javaboy-manager 本身也是一个聚合工程,因此,javaboy-manager 的 src 目录也可以删除。4.选中 javaboy-manager,右键单击,New->Module 创建一个新的 Maven 模块出来。这个步骤类似于第二步,不在赘述。 这里,新的 javaboy-manager-model 创建成功后,我们手动配置它的 packaging 属性值为 jar。5.依照第 4 步,再分别创建 javaboy-manager-service 以及 javaboy-manager-dao 6.继续创建 javaboy-manager-web 模块,不同于其他模块,web 模块需要打包成 war。web 模块创建可以参考【第五篇文章】。 7.web 工程创建完成后,完善模块之间的继承关系。javaboy-manager-web 依赖 javaboy-manager-service javaboy-manager-service 依赖 javaboy-manager-dao javaboy-manager-dao 依赖 javaboy-manager-model注意,依赖默认是有传递性的,即在 javaboy-manager-dao 中依赖了 javaboy-manager-model,在 javaboy-manager-service 也能访问到。配置后的依赖关系如下图:接下来就可以在不同的模块中写代码,然后进行项目部署了。部署方式参考【第五篇文章】有一个需要注意的地方,在多模块项目中,web 项目打包需要注意以下问题:不可以直接单独打包如果要打包,有两种方式:第一种就是先手动挨个将 model、dao、service 安装到本地仓库从聚合工程处打包,即从 web 的parent 处打包。链接:https://juejin.im/post/5df6ec...发布于 2019-12-17 16:02MavenjarJava 项目开发赞同 78添加评论分享喜欢收藏申请转载文章被以下专栏收录java工程师成神之路关注【ToBeTopJavaer】成就jav
学Maven,这篇万余字的教程,真的够用了! - 知乎
学Maven,这篇万余字的教程,真的够用了! - 知乎首发于java工程师成神之路切换模式写文章登录/注册学Maven,这篇万余字的教程,真的够用了!java架构师1 Maven 介绍1.1 为什么使用 Maven由于 Java 的生态非常丰富,无论你想实现什么功能,都能找到对应的工具类,这些工具类都是以 jar 包的形式出现的,例如 Spring,SpringMVC、MyBatis、数据库驱动,等等,都是以 jar 包的形式出现的,jar 包之间会有关联,在使用一个依赖之前,还需要确定这个依赖所依赖的其他依赖,所以,当项目比较大的时候,依赖管理会变得非常麻烦臃肿,这是 Maven 解决的第一个问题。Maven 还可以处理多模块项目。简单的项目,单模块分包处理即可,如果项目比较复杂,要做成多模块项目,例如一个电商项目有订单模块、会员模块、商品模块、支付模块...,一般来说,多模块项目,每一个模块无法独立运行,要多个模块合在一起,项目才可以运行,这个时候,借助 Maven 工具,可以实现项目的一键打包。Maven 之前,我们更多的是使用 Ant 的项目构建工具,Ant 有一个特点,每次都得写,每次都写的差不多,配置也臃肿。所以,后来搞出来 Maven。Maven 就是最先进的版本构建工具吗?不是的,只不过,目前在 Java 领域 Maven 使用比较多。除了 Maven,还有 Gradle。1.2 Maven 是什么Maven 是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),反映在配置中,就是一个 pom.xml 文件。是一组标准集合,一个项目的生命周期、一个依赖管理系统,另外还包括定义在项目生命周期阶段的插件(plugin)以及目标(goal)。当我们使用 Maven 的使用,通过一个自定义的项目对象模型,pom.xml 来详细描述我们自己的项目。Maven 中的有两大核心:依赖管理:对 jar 的统一管理(Maven 提供了一个 Maven 的中央仓库,mvnrepository.com/,当我们在项目中添加完… 会自动去中央仓库下载相关的依赖,并且解决依赖的依赖问题)项目构建:对项目进行编译、测试、打包、部署、上传到私服等2. Maven 安装Maven 是 Java 项目,因此必须先安装 JDK。下载 Maven:下载 Maven下载地址:maven.apache.org/download.cg…解压并配置配置,只需要配置环境变量即可:首先配置 MAVEN_HOME:然后配置环境变量:检验安装如果使用了 IntelliJ IDEA ,可以不用去额外下载 Maven,直接使用 IDEA 中自带的 Maven 插件即可。IntelliJ IDEA 中自带的 Maven 插件在 \ideaIU-2019.2.4.win\plugins\maven\lib\maven33. Maven 配置实际上,没有特殊需求的话,安装好之后直接就可以用了。一般来说,还是需要稍微配置一下,比如中央仓库的问题。默认使用 Maven 自己的中央仓库,使用起来网速比较慢,这个时候,可以通过修改配置文件,将仓库改成国内的镜像仓库,国内仓库使用较多的是阿里巴巴的仓库。3.1 仓库类型现在存在 3 个仓库,那么 jar 包如何查找呢?3.2 本地仓库配置本地仓库默认位置在 当前用户名\.m2\repository,这个位置可以自定义,但是不建议大家自定义这个地址,有几个原因:虽然所有的本地的 jar 都放在这个仓库中,但是并不会占用很大的空间。默认的位置比较隐蔽,不容易碰到技术上来说,当然是可以自定义本地仓库位置的,在 conf/settings.xml 中自定义本地仓库位置:3.3 远程镜像配置由于默认的中央仓库下载较慢,因此,也可以将远程仓库地址改为阿里巴巴的仓库地址:
复制代码这段配置,加在 settings.xml 中的 mirrors 节点中:4. Maven 常用命令Maven 中有一些常见的命令,如果使用 Eclipse 需要手动敲命令,如果使用 IDEA 的话,可以不用命令,直接点点点就可以了。这里需要注意的是,这些命令都不是独立运行的,它有一个顺序。举个简单例子:我想将 jar 上传到私服,那么就要构建 jar,就需要执行 package 命令,要打包,当然也需要测试,那就要走 mvn test 命令,要测试就要先编译.....,因此,最终所有的命令都会执行一遍。不过,开发者也可以手动配置不执行某一个命令,这就是跳过。一般来是,除了测试,其他步骤都不建议跳过。当然,如果开发者使用了 IDEA ,这些命令不用手动敲,点一下就行:4.1 通过命令来构建项目可以直接通过命令来构建一个 Maven 项目,不过在实际开发中,一般使用 Eclipse 或者 IDEA 就可以直接创建 Maven 项目了。创建命令:mvn archetype:generate -DgroupId=org.javaboy -DartifactId=firstapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
复制代码看到如下提示,表示项目创建成功:项目创建成功后,就两个文件:说明对一个任何一个项目而言,最最核心的就是这两个。pom.xml 中,则定义了所有的项目配置。4.2 对项目进行打包接下来,我们通过 mvn package 命令可以将刚刚创建的项目打成一个 jar 包。在打包之前,需要配置 JDK 的版本至少为 7 以上,因此,我们还需要手动修改一下 pom.xml 文件,即添加如下配置:添加完成后,执行打包命令,注意执行所有命令时,命令行要定位到 pom.xml 文件所在的目录,看到如下提示,表示项目打包成功。4.3 将项目安装到本地仓库如果需要将项目安装到本地仓库,可以直接执行 mvn install 命令,注意,mvn install 命令会包含上面的 mvn package 过程。安装到本地仓库之后,这个时候,点开自己的本地仓库,就可以看到相关的 jar 了。5. IDEA 中使用 Maven不同于 Eclipse,IDEA 安装完成后,就可以直接使用 Maven 了。5.1 Maven 相关配置IDEA 中,Maven 的配置在 File->Settings->Build,Execution,Deployment->Build Tools->Maven:5.2 JavaSE 工程创建首先在创建一个工程时,选择 Maven 工程:如果勾选上 Create from archetype ,则表示可以根据一个项目骨架(项目模板)来创建一个新的工程,不过,如果只是创建 JavaSE 项目,则不用选择项目骨架。直接 Next 即可。然后填入项目的坐标,即 groupId 和 artifactId。填完之后,直接 Next 即可。这样,我们就会获取一个 JavaSE 工程,项目结构和你用命令创建出来的项目一模一样。5.3 JavaWeb 工程创建在 IDEA 中,创建 Maven Web 项目,有两种思路:首先创建一个 JavaSE 项目,然后手动将 JavaSE 项目改造成一个 JavaWeb 项目创建项目时选择项目骨架,骨架就选择 webapp两种方式中,推荐使用第一种方式。5.3.1 改造 JavaSE 项目这种方式,首先创建一个 JavaSE 项目,创建步骤和上面的一致。项目创建完成后,首先修改 pom.xml ,配置项目的打包格式为 war 包。 这样,IDEA 就知道当前项目是一个 Web 项目:然后,选中 JavaSE 工程,右键单击,选择 Open Module Settings,或者直接按 F4,然后选择 Web,如下图:接下来,在 webapp 目录中,添加 web.xml 文件。注意,一定要修改 web.xml 文件位置:配置完成后,点击 OK 退出。项目创建完成后,接下来就是部署了。部署,首先点击 IDEA 右上角的 Edit Configurations:然后,配置 Tomcat:接下来选择 Deployment 选项卡,配置要发布的项目:最后,点击 IDEA 右上角的三角符号,启动项目。5.3.2 通过 webapp 骨架直接创建这种方式比较简单,基本上不需要额外的配置,项目创建完成后,就是一个 web 项目。只需要我们在创建项目时,选择 webapp 骨架即可。选择骨架之后,后面的步骤和前文一致。项目创建成功后,只有 webapp 目录,这个时候,自己手动创建 java 和 resources 目录,创建完成后,右键单击,选择 Mark Directory As,将 java 目录标记为 sources root,将 resources 目录标记为 resources root 即可。凡是在 IDEA 右下角看到了 Enable Auto Import 按钮,一定点一下6. Maven 依赖管理Maven 项目,如果需要使用第三方的控件,都是通过依赖管理来完成的。这里用到的一个东西就是 pom.xml 文件,概念叫做项目对象模型(POM,Project Object Model),我们在 pom.xml 中定义了 Maven 项目的形式,所以,pom.xml 相当于是 Maven 项目的一个地图。就类似于 web.xml 文件用来描述三大 web 组件一样。这个地图中都涉及到哪些东西呢?6.1 Maven 坐标
复制代码dependencies在 dependencies 标签中,添加项目需要的 jar 所对应的 maven 坐标。dependency一个 dependency 标签表示一个坐标groupId团体、公司、组织机构等等的唯一标识。团体标识的约定是它以创建这个项目的组织名称的逆向域名(例如 org.javaboy)开头。一个 Maven 坐标必须要包含 groupId。一些典型的 groupId 如 apache 的 groupId 是 org.apache.artifactIdartifactId 相当于在一个组织中项目的唯一标识符。version一个项目的版本。一个项目的话,可能会有多个版本。如果是正在开发的项目,我们可以给版本号加上一个 SNAPSHOT,表示这是一个快照版(新建项目的默认版本号就是快照版)scope表示依赖范围。我们添加了很多依赖,但是不同依赖的使用范围是不一样的。最典型的有两个,一个是数据库驱动,另一个是单元测试。数据库驱动,在使用的过程中,我们自己写代码,写的是 JDBC 代码,只有在项目运行时,才需要执行 MySQL 驱动中的代码。所以,MySQL 驱动这个依赖在添加到项目中之后,可以设置它的 scope 为 runtime,编译的时候不生效。单元测试,只在测试的时候生效,所以可以设置它的 scope 为 test,这样,当项目打包发布时,单元测试的依赖就不会跟着发布。6.2 依赖冲突依赖冲突产生的原因在图中,a.jar 依赖 b.jar,同时 a.jar 依赖 d.jar,这个时候,a 和 b、d 的关系是直接依赖的关系,a 和 c 的关系是间接依赖的关系。6.2.1 冲突解决先定义先使用路径最近原则(直接声明使用)以 spring-context 为例,下图中 x 表示失效的依赖(优先级低的依赖,即路径近的依赖优先使用):上面这两条是默认行为。我们也可以手动控制。手动控制主要是通过排除依赖来实现,如下:
复制代码这个表示从 spring-context 中排除 spring-core 依赖。7. Maven 私服Maven 仓库管理也叫 Maven 私服或者代理仓库。使用 Maven 私服有两个目的:私服是一个介于开发者和远程仓库之间的代理私服可以用来部署公司自己的 jar7.1 Nexus 介绍Nexus 是一个强大的 Maven 仓库管理工具,使用 Nexus 可以方便的管理内部仓库同时简化外部仓库的访问。官网是:www.sonatype.com/7.2 安装下载下载地址:www.sonatype.com/download-os…解压将下载下来的压缩包,拷贝到一个没有中文的路径下,然后解压。启动解压之后,打开 cmd 窗口(以管理员身份打开 cmd 窗口),然后定位了 nexus 解压目录,执行 nexus.exe/run 命令启动服务。这个启动稍微有点慢,大概有 1 两分钟的样子启动成功后,浏览器输入 http://lcoalhost:8081 打开管理页面。打开管理页面后,点击右上角上的登录按钮进行登录,默认的用户名/密码是 admin/admin123。当然,用户也可以点击设置按钮,手动配置其他用户。点击 Repositories 可以查看仓库详细信息:7.2.1 仓库类型7.2.2 上传 jar上传 jar,配置两个地方:Maven 的 conf/settings.xml 文件配置:
复制代码在要上传 jar 的项目的 pom.xml 文件中,配置上传路径:
复制代码配置完成后,点击 deploy 按钮,或者执行 mvn deploy 命令就可以将 jar 上传到私服上。7.2.3 下载私服上的 jar直接在项目中添加依赖,添加完成后,额外增加私服地址即可:
复制代码8. 聚合工程所谓的聚合工程,实际上也就是多模块项目。在一个比较大的互联网项目中,项目需要拆分成多个模块进行开发,比如订单模块、VIP 模块、支付模块、内容管理模块、CMS、CRM 等等。这种拆分方式,实际上更接近于微服务的思想。在一个模块中,还可以继续进行拆分,例如分成 dao、service、controller 等。有人可能会说,这个分包不就行了吗?小项目当然可以分包,大项目就没法分包了。比如,在一个大的电商系统中,有一个子模块叫做用户管理、还有一个子模块叫做订单管理,这两个子模块都涉及到用户,像这种情况,我们就需要将用户类单独提取出来,做成单独的模块,供其他模块调用。8.1 多模块项目展示|--javaboy-parent
|-- javaboy-cms
|-- javaboy-crm
|-- javaboy-manger
|-- javaboy-manager-model
|-- javaboy-manager-dao
|-- javaboy-manager-service
|-- javaboy-manager-web
复制代码以 javaboy-manger 为例,javaboy-manager 本身并不提供功能,它只负责管理他自己的子模块,而他的子模块每一个都无法独立运行,需要四个结合在一起,才可以运行。项目打包时,model、dao、service 都将打包成 jar,然后会自动将打包好的 jar 复制到 web 中,再自动将 web 打包成 war 包。8.2 IDEA 中创建聚合工程1.创建一个空的 Maven 项目:项目创建完成后,由于 parent 并不参与业务的实现,只是用来管理它的子模块,因此,src 目录可以将其删除。2.选中当前工程,右键单击,New->Module然后继续选择创建一个 Maven 项目:在 IDEA 中,已经默认指明了当前 Module 的 parent,开发者只需要填入当前 Module 的 artifactId 即可:javaboy-manager 创建完成后,此时,观察 javaboy-parent 的 pom.xml 文件,发现它自动加上了 packing 属性:其中,它的 packaging 属性值为 pom,这表示它是一个聚合工程,同时,他还多了 modules 节点,指明了它自己的子模块。 同时,注意 javaboy-manager ,它自身多了一个 parent 节点,这个 parent 节点描述了它的父模块的属性值:
复制代码这个 parent 不仅仅是一个简单的父子关系描述,它存在继承关系,一般我们可以在 parent 中统一定义依赖或者插件的版本号3.由于 javaboy-manager 本身也是一个聚合工程,因此,javaboy-manager 的 src 目录也可以删除。4.选中 javaboy-manager,右键单击,New->Module 创建一个新的 Maven 模块出来。这个步骤类似于第二步,不在赘述。 这里,新的 javaboy-manager-model 创建成功后,我们手动配置它的 packaging 属性值为 jar。5.依照第 4 步,再分别创建 javaboy-manager-service 以及 javaboy-manager-dao 6.继续创建 javaboy-manager-web 模块,不同于其他模块,web 模块需要打包成 war。web 模块创建可以参考【第五篇文章】。 7.web 工程创建完成后,完善模块之间的继承关系。javaboy-manager-web 依赖 javaboy-manager-service javaboy-manager-service 依赖 javaboy-manager-dao javaboy-manager-dao 依赖 javaboy-manager-model注意,依赖默认是有传递性的,即在 javaboy-manager-dao 中依赖了 javaboy-manager-model,在 javaboy-manager-service 也能访问到。配置后的依赖关系如下图:接下来就可以在不同的模块中写代码,然后进行项目部署了。部署方式参考【第五篇文章】有一个需要注意的地方,在多模块项目中,web 项目打包需要注意以下问题:不可以直接单独打包如果要打包,有两种方式:第一种就是先手动挨个将 model、dao、service 安装到本地仓库从聚合工程处打包,即从 web 的parent 处打包。链接:https://juejin.im/post/5df6ec...发布于 2019-12-17 16:02MavenjarJava 项目开发赞同 78添加评论分享喜欢收藏申请转载文章被以下专栏收录java工程师成神之路关注【ToBeTopJavaer】成就jav
学Maven,这篇万余字的教程,真的够用了! - 知乎
学Maven,这篇万余字的教程,真的够用了! - 知乎首发于java工程师成神之路切换模式写文章登录/注册学Maven,这篇万余字的教程,真的够用了!java架构师1 Maven 介绍1.1 为什么使用 Maven由于 Java 的生态非常丰富,无论你想实现什么功能,都能找到对应的工具类,这些工具类都是以 jar 包的形式出现的,例如 Spring,SpringMVC、MyBatis、数据库驱动,等等,都是以 jar 包的形式出现的,jar 包之间会有关联,在使用一个依赖之前,还需要确定这个依赖所依赖的其他依赖,所以,当项目比较大的时候,依赖管理会变得非常麻烦臃肿,这是 Maven 解决的第一个问题。Maven 还可以处理多模块项目。简单的项目,单模块分包处理即可,如果项目比较复杂,要做成多模块项目,例如一个电商项目有订单模块、会员模块、商品模块、支付模块...,一般来说,多模块项目,每一个模块无法独立运行,要多个模块合在一起,项目才可以运行,这个时候,借助 Maven 工具,可以实现项目的一键打包。Maven 之前,我们更多的是使用 Ant 的项目构建工具,Ant 有一个特点,每次都得写,每次都写的差不多,配置也臃肿。所以,后来搞出来 Maven。Maven 就是最先进的版本构建工具吗?不是的,只不过,目前在 Java 领域 Maven 使用比较多。除了 Maven,还有 Gradle。1.2 Maven 是什么Maven 是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),反映在配置中,就是一个 pom.xml 文件。是一组标准集合,一个项目的生命周期、一个依赖管理系统,另外还包括定义在项目生命周期阶段的插件(plugin)以及目标(goal)。当我们使用 Maven 的使用,通过一个自定义的项目对象模型,pom.xml 来详细描述我们自己的项目。Maven 中的有两大核心:依赖管理:对 jar 的统一管理(Maven 提供了一个 Maven 的中央仓库,mvnrepository.com/,当我们在项目中添加完… 会自动去中央仓库下载相关的依赖,并且解决依赖的依赖问题)项目构建:对项目进行编译、测试、打包、部署、上传到私服等2. Maven 安装Maven 是 Java 项目,因此必须先安装 JDK。下载 Maven:下载 Maven下载地址:maven.apache.org/download.cg…解压并配置配置,只需要配置环境变量即可:首先配置 MAVEN_HOME:然后配置环境变量:检验安装如果使用了 IntelliJ IDEA ,可以不用去额外下载 Maven,直接使用 IDEA 中自带的 Maven 插件即可。IntelliJ IDEA 中自带的 Maven 插件在 \ideaIU-2019.2.4.win\plugins\maven\lib\maven33. Maven 配置实际上,没有特殊需求的话,安装好之后直接就可以用了。一般来说,还是需要稍微配置一下,比如中央仓库的问题。默认使用 Maven 自己的中央仓库,使用起来网速比较慢,这个时候,可以通过修改配置文件,将仓库改成国内的镜像仓库,国内仓库使用较多的是阿里巴巴的仓库。3.1 仓库类型现在存在 3 个仓库,那么 jar 包如何查找呢?3.2 本地仓库配置本地仓库默认位置在 当前用户名\.m2\repository,这个位置可以自定义,但是不建议大家自定义这个地址,有几个原因:虽然所有的本地的 jar 都放在这个仓库中,但是并不会占用很大的空间。默认的位置比较隐蔽,不容易碰到技术上来说,当然是可以自定义本地仓库位置的,在 conf/settings.xml 中自定义本地仓库位置:3.3 远程镜像配置由于默认的中央仓库下载较慢,因此,也可以将远程仓库地址改为阿里巴巴的仓库地址:
复制代码这段配置,加在 settings.xml 中的 mirrors 节点中:4. Maven 常用命令Maven 中有一些常见的命令,如果使用 Eclipse 需要手动敲命令,如果使用 IDEA 的话,可以不用命令,直接点点点就可以了。这里需要注意的是,这些命令都不是独立运行的,它有一个顺序。举个简单例子:我想将 jar 上传到私服,那么就要构建 jar,就需要执行 package 命令,要打包,当然也需要测试,那就要走 mvn test 命令,要测试就要先编译.....,因此,最终所有的命令都会执行一遍。不过,开发者也可以手动配置不执行某一个命令,这就是跳过。一般来是,除了测试,其他步骤都不建议跳过。当然,如果开发者使用了 IDEA ,这些命令不用手动敲,点一下就行:4.1 通过命令来构建项目可以直接通过命令来构建一个 Maven 项目,不过在实际开发中,一般使用 Eclipse 或者 IDEA 就可以直接创建 Maven 项目了。创建命令:mvn archetype:generate -DgroupId=org.javaboy -DartifactId=firstapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
复制代码看到如下提示,表示项目创建成功:项目创建成功后,就两个文件:说明对一个任何一个项目而言,最最核心的就是这两个。pom.xml 中,则定义了所有的项目配置。4.2 对项目进行打包接下来,我们通过 mvn package 命令可以将刚刚创建的项目打成一个 jar 包。在打包之前,需要配置 JDK 的版本至少为 7 以上,因此,我们还需要手动修改一下 pom.xml 文件,即添加如下配置:添加完成后,执行打包命令,注意执行所有命令时,命令行要定位到 pom.xml 文件所在的目录,看到如下提示,表示项目打包成功。4.3 将项目安装到本地仓库如果需要将项目安装到本地仓库,可以直接执行 mvn install 命令,注意,mvn install 命令会包含上面的 mvn package 过程。安装到本地仓库之后,这个时候,点开自己的本地仓库,就可以看到相关的 jar 了。5. IDEA 中使用 Maven不同于 Eclipse,IDEA 安装完成后,就可以直接使用 Maven 了。5.1 Maven 相关配置IDEA 中,Maven 的配置在 File->Settings->Build,Execution,Deployment->Build Tools->Maven:5.2 JavaSE 工程创建首先在创建一个工程时,选择 Maven 工程:如果勾选上 Create from archetype ,则表示可以根据一个项目骨架(项目模板)来创建一个新的工程,不过,如果只是创建 JavaSE 项目,则不用选择项目骨架。直接 Next 即可。然后填入项目的坐标,即 groupId 和 artifactId。填完之后,直接 Next 即可。这样,我们就会获取一个 JavaSE 工程,项目结构和你用命令创建出来的项目一模一样。5.3 JavaWeb 工程创建在 IDEA 中,创建 Maven Web 项目,有两种思路:首先创建一个 JavaSE 项目,然后手动将 JavaSE 项目改造成一个 JavaWeb 项目创建项目时选择项目骨架,骨架就选择 webapp两种方式中,推荐使用第一种方式。5.3.1 改造 JavaSE 项目这种方式,首先创建一个 JavaSE 项目,创建步骤和上面的一致。项目创建完成后,首先修改 pom.xml ,配置项目的打包格式为 war 包。 这样,IDEA 就知道当前项目是一个 Web 项目:然后,选中 JavaSE 工程,右键单击,选择 Open Module Settings,或者直接按 F4,然后选择 Web,如下图:接下来,在 webapp 目录中,添加 web.xml 文件。注意,一定要修改 web.xml 文件位置:配置完成后,点击 OK 退出。项目创建完成后,接下来就是部署了。部署,首先点击 IDEA 右上角的 Edit Configurations:然后,配置 Tomcat:接下来选择 Deployment 选项卡,配置要发布的项目:最后,点击 IDEA 右上角的三角符号,启动项目。5.3.2 通过 webapp 骨架直接创建这种方式比较简单,基本上不需要额外的配置,项目创建完成后,就是一个 web 项目。只需要我们在创建项目时,选择 webapp 骨架即可。选择骨架之后,后面的步骤和前文一致。项目创建成功后,只有 webapp 目录,这个时候,自己手动创建 java 和 resources 目录,创建完成后,右键单击,选择 Mark Directory As,将 java 目录标记为 sources root,将 resources 目录标记为 resources root 即可。凡是在 IDEA 右下角看到了 Enable Auto Import 按钮,一定点一下6. Maven 依赖管理Maven 项目,如果需要使用第三方的控件,都是通过依赖管理来完成的。这里用到的一个东西就是 pom.xml 文件,概念叫做项目对象模型(POM,Project Object Model),我们在 pom.xml 中定义了 Maven 项目的形式,所以,pom.xml 相当于是 Maven 项目的一个地图。就类似于 web.xml 文件用来描述三大 web 组件一样。这个地图中都涉及到哪些东西呢?6.1 Maven 坐标
复制代码dependencies在 dependencies 标签中,添加项目需要的 jar 所对应的 maven 坐标。dependency一个 dependency 标签表示一个坐标groupId团体、公司、组织机构等等的唯一标识。团体标识的约定是它以创建这个项目的组织名称的逆向域名(例如 org.javaboy)开头。一个 Maven 坐标必须要包含 groupId。一些典型的 groupId 如 apache 的 groupId 是 org.apache.artifactIdartifactId 相当于在一个组织中项目的唯一标识符。version一个项目的版本。一个项目的话,可能会有多个版本。如果是正在开发的项目,我们可以给版本号加上一个 SNAPSHOT,表示这是一个快照版(新建项目的默认版本号就是快照版)scope表示依赖范围。我们添加了很多依赖,但是不同依赖的使用范围是不一样的。最典型的有两个,一个是数据库驱动,另一个是单元测试。数据库驱动,在使用的过程中,我们自己写代码,写的是 JDBC 代码,只有在项目运行时,才需要执行 MySQL 驱动中的代码。所以,MySQL 驱动这个依赖在添加到项目中之后,可以设置它的 scope 为 runtime,编译的时候不生效。单元测试,只在测试的时候生效,所以可以设置它的 scope 为 test,这样,当项目打包发布时,单元测试的依赖就不会跟着发布。6.2 依赖冲突依赖冲突产生的原因在图中,a.jar 依赖 b.jar,同时 a.jar 依赖 d.jar,这个时候,a 和 b、d 的关系是直接依赖的关系,a 和 c 的关系是间接依赖的关系。6.2.1 冲突解决先定义先使用路径最近原则(直接声明使用)以 spring-context 为例,下图中 x 表示失效的依赖(优先级低的依赖,即路径近的依赖优先使用):上面这两条是默认行为。我们也可以手动控制。手动控制主要是通过排除依赖来实现,如下:
复制代码这个表示从 spring-context 中排除 spring-core 依赖。7. Maven 私服Maven 仓库管理也叫 Maven 私服或者代理仓库。使用 Maven 私服有两个目的:私服是一个介于开发者和远程仓库之间的代理私服可以用来部署公司自己的 jar7.1 Nexus 介绍Nexus 是一个强大的 Maven 仓库管理工具,使用 Nexus 可以方便的管理内部仓库同时简化外部仓库的访问。官网是:www.sonatype.com/7.2 安装下载下载地址:www.sonatype.com/download-os…解压将下载下来的压缩包,拷贝到一个没有中文的路径下,然后解压。启动解压之后,打开 cmd 窗口(以管理员身份打开 cmd 窗口),然后定位了 nexus 解压目录,执行 nexus.exe/run 命令启动服务。这个启动稍微有点慢,大概有 1 两分钟的样子启动成功后,浏览器输入 http://lcoalhost:8081 打开管理页面。打开管理页面后,点击右上角上的登录按钮进行登录,默认的用户名/密码是 admin/admin123。当然,用户也可以点击设置按钮,手动配置其他用户。点击 Repositories 可以查看仓库详细信息:7.2.1 仓库类型7.2.2 上传 jar上传 jar,配置两个地方:Maven 的 conf/settings.xml 文件配置:
复制代码在要上传 jar 的项目的 pom.xml 文件中,配置上传路径:
复制代码配置完成后,点击 deploy 按钮,或者执行 mvn deploy 命令就可以将 jar 上传到私服上。7.2.3 下载私服上的 jar直接在项目中添加依赖,添加完成后,额外增加私服地址即可:
复制代码8. 聚合工程所谓的聚合工程,实际上也就是多模块项目。在一个比较大的互联网项目中,项目需要拆分成多个模块进行开发,比如订单模块、VIP 模块、支付模块、内容管理模块、CMS、CRM 等等。这种拆分方式,实际上更接近于微服务的思想。在一个模块中,还可以继续进行拆分,例如分成 dao、service、controller 等。有人可能会说,这个分包不就行了吗?小项目当然可以分包,大项目就没法分包了。比如,在一个大的电商系统中,有一个子模块叫做用户管理、还有一个子模块叫做订单管理,这两个子模块都涉及到用户,像这种情况,我们就需要将用户类单独提取出来,做成单独的模块,供其他模块调用。8.1 多模块项目展示|--javaboy-parent
|-- javaboy-cms
|-- javaboy-crm
|-- javaboy-manger
|-- javaboy-manager-model
|-- javaboy-manager-dao
|-- javaboy-manager-service
|-- javaboy-manager-web
复制代码以 javaboy-manger 为例,javaboy-manager 本身并不提供功能,它只负责管理他自己的子模块,而他的子模块每一个都无法独立运行,需要四个结合在一起,才可以运行。项目打包时,model、dao、service 都将打包成 jar,然后会自动将打包好的 jar 复制到 web 中,再自动将 web 打包成 war 包。8.2 IDEA 中创建聚合工程1.创建一个空的 Maven 项目:项目创建完成后,由于 parent 并不参与业务的实现,只是用来管理它的子模块,因此,src 目录可以将其删除。2.选中当前工程,右键单击,New->Module然后继续选择创建一个 Maven 项目:在 IDEA 中,已经默认指明了当前 Module 的 parent,开发者只需要填入当前 Module 的 artifactId 即可:javaboy-manager 创建完成后,此时,观察 javaboy-parent 的 pom.xml 文件,发现它自动加上了 packing 属性:其中,它的 packaging 属性值为 pom,这表示它是一个聚合工程,同时,他还多了 modules 节点,指明了它自己的子模块。 同时,注意 javaboy-manager ,它自身多了一个 parent 节点,这个 parent 节点描述了它的父模块的属性值:
复制代码这个 parent 不仅仅是一个简单的父子关系描述,它存在继承关系,一般我们可以在 parent 中统一定义依赖或者插件的版本号3.由于 javaboy-manager 本身也是一个聚合工程,因此,javaboy-manager 的 src 目录也可以删除。4.选中 javaboy-manager,右键单击,New->Module 创建一个新的 Maven 模块出来。这个步骤类似于第二步,不在赘述。 这里,新的 javaboy-manager-model 创建成功后,我们手动配置它的 packaging 属性值为 jar。5.依照第 4 步,再分别创建 javaboy-manager-service 以及 javaboy-manager-dao 6.继续创建 javaboy-manager-web 模块,不同于其他模块,web 模块需要打包成 war。web 模块创建可以参考【第五篇文章】。 7.web 工程创建完成后,完善模块之间的继承关系。javaboy-manager-web 依赖 javaboy-manager-service javaboy-manager-service 依赖 javaboy-manager-dao javaboy-manager-dao 依赖 javaboy-manager-model注意,依赖默认是有传递性的,即在 javaboy-manager-dao 中依赖了 javaboy-manager-model,在 javaboy-manager-service 也能访问到。配置后的依赖关系如下图:接下来就可以在不同的模块中写代码,然后进行项目部署了。部署方式参考【第五篇文章】有一个需要注意的地方,在多模块项目中,web 项目打包需要注意以下问题:不可以直接单独打包如果要打包,有两种方式:第一种就是先手动挨个将 model、dao、service 安装到本地仓库从聚合工程处打包,即从 web 的parent 处打包。链接:https://juejin.im/post/5df6ec...发布于 2019-12-17 16:02MavenjarJava 项目开发赞同 78添加评论分享喜欢收藏申请转载文章被以下专栏收录java工程师成神之路关注【ToBeTopJavaer】成就jav
maven是什么意思_maven的翻译_音标_读音_用法_例句_爱词霸在线词典
n是什么意思_maven的翻译_音标_读音_用法_例句_爱词霸在线词典首页翻译背单词写作校对词霸下载用户反馈专栏平台登录maven是什么意思_maven用英语怎么说_maven的翻译_maven翻译成_maven的中文意思_maven怎么读,maven的读音,maven的用法,maven的例句翻译人工翻译试试人工翻译翻译全文mavenGRE英 [ˈmeɪvn]美 [ˈmevən]释义n.<美口>专家,内行点击 人工翻译,了解更多 人工释义实用场景例句全部Multiple web modules based on maven, single module can be run and deploy.基于maven的多模块Web应用, 独立模块可以单独运行及发布.期刊摘选You'll be a negotiating maven if you do this.掌握了这些要领,你将成为一个谈判高手。辞典例句收起实用场景例句英英释义Noun1. someone who is dazzlingly skilled in any field收起英英释义释义实用场景例句英学Maven,这篇万余字的教程,真的够用了! - 知乎
学Maven,这篇万余字的教程,真的够用了! - 知乎首发于java工程师成神之路切换模式写文章登录/注册学Maven,这篇万余字的教程,真的够用了!java架构师1 Maven 介绍1.1 为什么使用 Maven由于 Java 的生态非常丰富,无论你想实现什么功能,都能找到对应的工具类,这些工具类都是以 jar 包的形式出现的,例如 Spring,SpringMVC、MyBatis、数据库驱动,等等,都是以 jar 包的形式出现的,jar 包之间会有关联,在使用一个依赖之前,还需要确定这个依赖所依赖的其他依赖,所以,当项目比较大的时候,依赖管理会变得非常麻烦臃肿,这是 Maven 解决的第一个问题。Maven 还可以处理多模块项目。简单的项目,单模块分包处理即可,如果项目比较复杂,要做成多模块项目,例如一个电商项目有订单模块、会员模块、商品模块、支付模块...,一般来说,多模块项目,每一个模块无法独立运行,要多个模块合在一起,项目才可以运行,这个时候,借助 Maven 工具,可以实现项目的一键打包。Maven 之前,我们更多的是使用 Ant 的项目构建工具,Ant 有一个特点,每次都得写,每次都写的差不多,配置也臃肿。所以,后来搞出来 Maven。Maven 就是最先进的版本构建工具吗?不是的,只不过,目前在 Java 领域 Maven 使用比较多。除了 Maven,还有 Gradle。1.2 Maven 是什么Maven 是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),反映在配置中,就是一个 pom.xml 文件。是一组标准集合,一个项目的生命周期、一个依赖管理系统,另外还包括定义在项目生命周期阶段的插件(plugin)以及目标(goal)。当我们使用 Maven 的使用,通过一个自定义的项目对象模型,pom.xml 来详细描述我们自己的项目。Maven 中的有两大核心:依赖管理:对 jar 的统一管理(Maven 提供了一个 Maven 的中央仓库,mvnrepository.com/,当我们在项目中添加完… 会自动去中央仓库下载相关的依赖,并且解决依赖的依赖问题)项目构建:对项目进行编译、测试、打包、部署、上传到私服等2. Maven 安装Maven 是 Java 项目,因此必须先安装 JDK。下载 Maven:下载 Maven下载地址:maven.apache.org/download.cg…解压并配置配置,只需要配置环境变量即可:首先配置 MAVEN_HOME:然后配置环境变量:检验安装如果使用了 IntelliJ IDEA ,可以不用去额外下载 Maven,直接使用 IDEA 中自带的 Maven 插件即可。IntelliJ IDEA 中自带的 Maven 插件在 \ideaIU-2019.2.4.win\plugins\maven\lib\maven33. Maven 配置实际上,没有特殊需求的话,安装好之后直接就可以用了。一般来说,还是需要稍微配置一下,比如中央仓库的问题。默认使用 Maven 自己的中央仓库,使用起来网速比较慢,这个时候,可以通过修改配置文件,将仓库改成国内的镜像仓库,国内仓库使用较多的是阿里巴巴的仓库。3.1 仓库类型现在存在 3 个仓库,那么 jar 包如何查找呢?3.2 本地仓库配置本地仓库默认位置在 当前用户名\.m2\repository,这个位置可以自定义,但是不建议大家自定义这个地址,有几个原因:虽然所有的本地的 jar 都放在这个仓库中,但是并不会占用很大的空间。默认的位置比较隐蔽,不容易碰到技术上来说,当然是可以自定义本地仓库位置的,在 conf/settings.xml 中自定义本地仓库位置:3.3 远程镜像配置由于默认的中央仓库下载较慢,因此,也可以将远程仓库地址改为阿里巴巴的仓库地址:
复制代码这段配置,加在 settings.xml 中的 mirrors 节点中:4. Maven 常用命令Maven 中有一些常见的命令,如果使用 Eclipse 需要手动敲命令,如果使用 IDEA 的话,可以不用命令,直接点点点就可以了。这里需要注意的是,这些命令都不是独立运行的,它有一个顺序。举个简单例子:我想将 jar 上传到私服,那么就要构建 jar,就需要执行 package 命令,要打包,当然也需要测试,那就要走 mvn test 命令,要测试就要先编译.....,因此,最终所有的命令都会执行一遍。不过,开发者也可以手动配置不执行某一个命令,这就是跳过。一般来是,除了测试,其他步骤都不建议跳过。当然,如果开发者使用了 IDEA ,这些命令不用手动敲,点一下就行:4.1 通过命令来构建项目可以直接通过命令来构建一个 Maven 项目,不过在实际开发中,一般使用 Eclipse 或者 IDEA 就可以直接创建 Maven 项目了。创建命令:mvn archetype:generate -DgroupId=org.javaboy -DartifactId=firstapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
复制代码看到如下提示,表示项目创建成功:项目创建成功后,就两个文件:说明对一个任何一个项目而言,最最核心的就是这两个。pom.xml 中,则定义了所有的项目配置。4.2 对项目进行打包接下来,我们通过 mvn package 命令可以将刚刚创建的项目打成一个 jar 包。在打包之前,需要配置 JDK 的版本至少为 7 以上,因此,我们还需要手动修改一下 pom.xml 文件,即添加如下配置:添加完成后,执行打包命令,注意执行所有命令时,命令行要定位到 pom.xml 文件所在的目录,看到如下提示,表示项目打包成功。4.3 将项目安装到本地仓库如果需要将项目安装到本地仓库,可以直接执行 mvn install 命令,注意,mvn install 命令会包含上面的 mvn package 过程。安装到本地仓库之后,这个时候,点开自己的本地仓库,就可以看到相关的 jar 了。5. IDEA 中使用 Maven不同于 Eclipse,IDEA 安装完成后,就可以直接使用 Maven 了。5.1 Maven 相关配置IDEA 中,Maven 的配置在 File->Settings->Build,Execution,Deployment->Build Tools->Maven:5.2 JavaSE 工程创建首先在创建一个工程时,选择 Maven 工程:如果勾选上 Create from archetype ,则表示可以根据一个项目骨架(项目模板)来创建一个新的工程,不过,如果只是创建 JavaSE 项目,则不用选择项目骨架。直接 Next 即可。然后填入项目的坐标,即 groupId 和 artifactId。填完之后,直接 Next 即可。这样,我们就会获取一个 JavaSE 工程,项目结构和你用命令创建出来的项目一模一样。5.3 JavaWeb 工程创建在 IDEA 中,创建 Maven Web 项目,有两种思路:首先创建一个 JavaSE 项目,然后手动将 JavaSE 项目改造成一个 JavaWeb 项目创建项目时选择项目骨架,骨架就选择 webapp两种方式中,推荐使用第一种方式。5.3.1 改造 JavaSE 项目这种方式,首先创建一个 JavaSE 项目,创建步骤和上面的一致。项目创建完成后,首先修改 pom.xml ,配置项目的打包格式为 war 包。 这样,IDEA 就知道当前项目是一个 Web 项目:然后,选中 JavaSE 工程,右键单击,选择 Open Module Settings,或者直接按 F4,然后选择 Web,如下图:接下来,在 webapp 目录中,添加 web.xml 文件。注意,一定要修改 web.xml 文件位置:配置完成后,点击 OK 退出。项目创建完成后,接下来就是部署了。部署,首先点击 IDEA 右上角的 Edit Configurations:然后,配置 Tomcat:接下来选择 Deployment 选项卡,配置要发布的项目:最后,点击 IDEA 右上角的三角符号,启动项目。5.3.2 通过 webapp 骨架直接创建这种方式比较简单,基本上不需要额外的配置,项目创建完成后,就是一个 web 项目。只需要我们在创建项目时,选择 webapp 骨架即可。选择骨架之后,后面的步骤和前文一致。项目创建成功后,只有 webapp 目录,这个时候,自己手动创建 java 和 resources 目录,创建完成后,右键单击,选择 Mark Directory As,将 java 目录标记为 sources root,将 resources 目录标记为 resources root 即可。凡是在 IDEA 右下角看到了 Enable Auto Import 按钮,一定点一下6. Maven 依赖管理Maven 项目,如果需要使用第三方的控件,都是通过依赖管理来完成的。这里用到的一个东西就是 pom.xml 文件,概念叫做项目对象模型(POM,Project Object Model),我们在 pom.xml 中定义了 Maven 项目的形式,所以,pom.xml 相当于是 Maven 项目的一个地图。就类似于 web.xml 文件用来描述三大 web 组件一样。这个地图中都涉及到哪些东西呢?6.1 Maven 坐标
复制代码dependencies在 dependencies 标签中,添加项目需要的 jar 所对应的 maven 坐标。dependency一个 dependency 标签表示一个坐标groupId团体、公司、组织机构等等的唯一标识。团体标识的约定是它以创建这个项目的组织名称的逆向域名(例如 org.javaboy)开头。一个 Maven 坐标必须要包含 groupId。一些典型的 groupId 如 apache 的 groupId 是 org.apache.artifactIdartifactId 相当于在一个组织中项目的唯一标识符。version一个项目的版本。一个项目的话,可能会有多个版本。如果是正在开发的项目,我们可以给版本号加上一个 SNAPSHOT,表示这是一个快照版(新建项目的默认版本号就是快照版)scope表示依赖范围。我们添加了很多依赖,但是不同依赖的使用范围是不一样的。最典型的有两个,一个是数据库驱动,另一个是单元测试。数据库驱动,在使用的过程中,我们自己写代码,写的是 JDBC 代码,只有在项目运行时,才需要执行 MySQL 驱动中的代码。所以,MySQL 驱动这个依赖在添加到项目中之后,可以设置它的 scope 为 runtime,编译的时候不生效。单元测试,只在测试的时候生效,所以可以设置它的 scope 为 test,这样,当项目打包发布时,单元测试的依赖就不会跟着发布。6.2 依赖冲突依赖冲突产生的原因在图中,a.jar 依赖 b.jar,同时 a.jar 依赖 d.jar,这个时候,a 和 b、d 的关系是直接依赖的关系,a 和 c 的关系是间接依赖的关系。6.2.1 冲突解决先定义先使用路径最近原则(直接声明使用)以 spring-context 为例,下图中 x 表示失效的依赖(优先级低的依赖,即路径近的依赖优先使用):上面这两条是默认行为。我们也可以手动控制。手动控制主要是通过排除依赖来实现,如下:
复制代码这个表示从 spring-context 中排除 spring-core 依赖。7. Maven 私服Maven 仓库管理也叫 Maven 私服或者代理仓库。使用 Maven 私服有两个目的:私服是一个介于开发者和远程仓库之间的代理私服可以用来部署公司自己的 jar7.1 Nexus 介绍Nexus 是一个强大的 Maven 仓库管理工具,使用 Nexus 可以方便的管理内部仓库同时简化外部仓库的访问。官网是:www.sonatype.com/7.2 安装下载下载地址:www.sonatype.com/download-os…解压将下载下来的压缩包,拷贝到一个没有中文的路径下,然后解压。启动解压之后,打开 cmd 窗口(以管理员身份打开 cmd 窗口),然后定位了 nexus 解压目录,执行 nexus.exe/run 命令启动服务。这个启动稍微有点慢,大概有 1 两分钟的样子启动成功后,浏览器输入 http://lcoalhost:8081 打开管理页面。打开管理页面后,点击右上角上的登录按钮进行登录,默认的用户名/密码是 admin/admin123。当然,用户也可以点击设置按钮,手动配置其他用户。点击 Repositories 可以查看仓库详细信息:7.2.1 仓库类型7.2.2 上传 jar上传 jar,配置两个地方:Maven 的 conf/settings.xml 文件配置:
复制代码在要上传 jar 的项目的 pom.xml 文件中,配置上传路径:
复制代码配置完成后,点击 deploy 按钮,或者执行 mvn deploy 命令就可以将 jar 上传到私服上。7.2.3 下载私服上的 jar直接在项目中添加依赖,添加完成后,额外增加私服地址即可:
复制代码8. 聚合工程所谓的聚合工程,实际上也就是多模块项目。在一个比较大的互联网项目中,项目需要拆分成多个模块进行开发,比如订单模块、VIP 模块、支付模块、内容管理模块、CMS、CRM 等等。这种拆分方式,实际上更接近于微服务的思想。在一个模块中,还可以继续进行拆分,例如分成 dao、service、controller 等。有人可能会说,这个分包不就行了吗?小项目当然可以分包,大项目就没法分包了。比如,在一个大的电商系统中,有一个子模块叫做用户管理、还有一个子模块叫做订单管理,这两个子模块都涉及到用户,像这种情况,我们就需要将用户类单独提取出来,做成单独的模块,供其他模块调用。8.1 多模块项目展示|--javaboy-parent
|-- javaboy-cms
|-- javaboy-crm
|-- javaboy-manger
|-- javaboy-manager-model
|-- javaboy-manager-dao
|-- javaboy-manager-service
|-- javaboy-manager-web
复制代码以 javaboy-manger 为例,javaboy-manager 本身并不提供功能,它只负责管理他自己的子模块,而他的子模块每一个都无法独立运行,需要四个结合在一起,才可以运行。项目打包时,model、dao、service 都将打包成 jar,然后会自动将打包好的 jar 复制到 web 中,再自动将 web 打包成 war 包。8.2 IDEA 中创建聚合工程1.创建一个空的 Maven 项目:项目创建完成后,由于 parent 并不参与业务的实现,只是用来管理它的子模块,因此,src 目录可以将其删除。2.选中当前工程,右键单击,New->Module然后继续选择创建一个 Maven 项目:在 IDEA 中,已经默认指明了当前 Module 的 parent,开发者只需要填入当前 Module 的 artifactId 即可:javaboy-manager 创建完成后,此时,观察 javaboy-parent 的 pom.xml 文件,发现它自动加上了 packing 属性:其中,它的 packaging 属性值为 pom,这表示它是一个聚合工程,同时,他还多了 modules 节点,指明了它自己的子模块。 同时,注意 javaboy-manager ,它自身多了一个 parent 节点,这个 parent 节点描述了它的父模块的属性值:
复制代码这个 parent 不仅仅是一个简单的父子关系描述,它存在继承关系,一般我们可以在 parent 中统一定义依赖或者插件的版本号3.由于 javaboy-manager 本身也是一个聚合工程,因此,javaboy-manager 的 src 目录也可以删除。4.选中 javaboy-manager,右键单击,New->Module 创建一个新的 Maven 模块出来。这个步骤类似于第二步,不在赘述。 这里,新的 javaboy-manager-model 创建成功后,我们手动配置它的 packaging 属性值为 jar。5.依照第 4 步,再分别创建 javaboy-manager-service 以及 javaboy-manager-dao 6.继续创建 javaboy-manager-web 模块,不同于其他模块,web 模块需要打包成 war。web 模块创建可以参考【第五篇文章】。 7.web 工程创建完成后,完善模块之间的继承关系。javaboy-manager-web 依赖 javaboy-manager-service javaboy-manager-service 依赖 javaboy-manager-dao javaboy-manager-dao 依赖 javaboy-manager-model注意,依赖默认是有传递性的,即在 javaboy-manager-dao 中依赖了 javaboy-manager-model,在 javaboy-manager-service 也能访问到。配置后的依赖关系如下图:接下来就可以在不同的模块中写代码,然后进行项目部署了。部署方式参考【第五篇文章】有一个需要注意的地方,在多模块项目中,web 项目打包需要注意以下问题:不可以直接单独打包如果要打包,有两种方式:第一种就是先手动挨个将 model、dao、service 安装到本地仓库从聚合工程处打包,即从 web 的parent 处打包。链接:https://juejin.im/post/5df6ec...发布于 2019-12-17 16:02MavenjarJava 项目开发赞同 78添加评论分享喜欢收藏申请转载文章被以下专栏收录java工程师成神之路关注【ToBeTopJavaer】成就jav
Maven 教程 | 菜鸟教程
Maven 教程 | 菜鸟教程
菜鸟教程 -- 学的不仅是技术,更是梦想!
首页
HTML
CSS
JavaScript
Vue
Bootstrap
NodeJS
Python3
Python2
Java
C
C++
C#
Go
SQL
Linux
jQuery
本地书签
首页
HTML
CSS
JS
本地书签
Search
Python3 教程
Python2 教程
Vue3 教程
vue2 教程
Bootstrap3 教程
Bootstrap4 教程
Bootstrap5 教程
Bootstrap2 教程
Maven 教程
Maven 教程
Maven 环境配置
Maven POM
Maven 构建生命周期
Maven 构建配置文件
Maven 仓库
Maven 插件
Maven 构建 Java 项目
Maven 构建 & 项目测试
Maven 引入外部依赖
Maven 项目模板
Maven 项目文档
Maven 快照(SNAPSHOT)
Maven 自动化构建
Maven 依赖管理
Maven 自动化部署
Maven Web 应用
Maven Eclipse
Maven NetBeans
Maven IntelliJ
Maven 环境配置
Maven 教程
Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。
Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。
阅读本教程前,您需要了解的知识
本教程主要针对初学者,帮助他们学习 Maven 工具的基本功能。完成本教程的学习后你的 Apache Maven 的专业知识将达到中等水平,随后你可以学习更高级的知识了。
阅读本教程,您需要有以下基础:Java 基础。
Maven 功能
Maven 能够帮助开发者完成以下工作:
构建
文档生成
报告
依赖
SCMs
发布
分发
邮件列表
约定配置
Maven 提倡使用一个共同的标准目录结构,Maven 使用约定优于配置的原则,大家尽可能的遵守这样的目录结构。如下所示:
目录
目的
${basedir}
存放pom.xml和所有的子目录
${basedir}/src/main/java
项目的java源代码
${basedir}/src/main/resources
项目的资源,比如说property文件,springmvc.xml
${basedir}/src/test/java
项目的测试类,比如说Junit代码
${basedir}/src/test/resources
测试用的资源
${basedir}/src/main/webapp/WEB-INF
web应用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面
${basedir}/target
打包输出目录
${basedir}/target/classes
编译输出目录
${basedir}/target/test-classes
测试编译输出目录
Test.java
Maven只会自动运行符合该命名规则的测试类
~/.m2/repository
Maven默认的本地仓库目录位置
Maven 特点
项目设置遵循统一的规则。
任意工程中共享。
依赖管理包括自动更新。
一个庞大且不断增长的库。
可扩展,能够轻松编写 Java 或脚本语言的插件。
只需很少或不需要额外配置即可即时访问新功能。
基于模型的构建 − Maven能够将任意数量的项目构建到预定义的输出类型中,如 JAR,WAR 或基于项目元数据的分发,而不需要在大多数情况下执行任何脚本。
项目信息的一致性站点 − 使用与构建过程相同的元数据,Maven 能够生成一个网站或PDF,包括您要添加的任何文档,并添加到关于项目开发状态的标准报告中。
发布管理和发布单独的输出 − Maven 将不需要额外的配置,就可以与源代码管理系统(如 Subversion 或 Git)集成,并可以基于某个标签管理项目的发布。它也可以将其发布到分发位置供其他项目使用。Maven 能够发布单独的输出,如 JAR,包含其他依赖和文档的归档,或者作为源代码发布。
向后兼容性 − 您可以很轻松的从旧版本 Maven 的多个模块移植到 Maven 3 中。
子项目使用父项目依赖时,正常情况子项目应该继承父项目依赖,无需使用版本号,
并行构建 − 编译的速度能普遍提高20 - 50 %。
更好的错误报告 − Maven 改进了错误报告,它为您提供了 Maven wiki 页面的链接,您可以点击链接查看错误的完整描述。
Maven 环境配置
1 篇笔记
写笔记
#0 任人欺凌小师妹 235***7627@qq.com 参考地址 838Maven 的 Snapshot 版本与 Release 版本
1、Snapshot 版本代表不稳定、尚处于开发中的版本。
2、Release 版本则代表稳定的版本。
3、什么情况下该用 SNAPSHOT?
协同开发时,如果 A 依赖构件 B,由于 B 会更新,B 应该使用 SNAPSHOT 来标识自己。这种做法的必要性可以反证如下:
a. 如果 B 不用 SNAPSHOT,而是每次更新后都使用一个稳定的版本,那版本号就会升得太快,每天一升甚至每个小时一升,这就是对版本号的滥用。
b.如果 B 不用 SNAPSHOT, 但一直使用一个单一的 Release 版本号,那当 B 更新后,A 可能并不会接受到更新。因为 A 所使用的 repository 一般不会频繁更新 release 版本的缓存(即本地 repository),所以B以不换版本号的方式更新后,A在拿B时发现本地已有这个版本,就不会去远程Repository下载最新的 B
4、 不用 Release 版本,在所有地方都用 SNAPSHOT 版本行不行?
不行。正式环境中不得使用 snapshot 版本的库。 比如说,今天你依赖某个 snapshot 版本的第三方库成功构建了自己的应用,明天再构建时可能就会失败,因为今晚第三方可能已经更新了它的 snapshot 库。你再次构建时,Maven 会去远程 repository 下载 snapshot 的最新版本,你构建时用的库就是新的 jar 文件了,这时正确性就很难保证了。 任人欺凌小师妹 任人欺凌小师妹 235***7627@qq.com 参考地址6年前 (2018-09-30)
点我分享笔记
取消
分享笔记
昵称昵称 (必填)
邮箱邮箱 (必填)
引用地址引用地址
分类导航
HTML / CSSHTML 教程HTML5 教程CSS 教程CSS3 教程Bootstrap3 教程Bootstrap4 教程Bootstrap5 教程Font Awesome 教程Foundation 教程 JavaScriptJavaScript 教程HTML DOM 教程jQuery 教程AngularJS 教程AngularJS2 教程Vue.js 教程Vue3 教程React 教程TypeScript 教程jQuery UI 教程jQuery EasyUI 教程Node.js 教程AJAX 教程JSON 教程Echarts 教程Chart.js 教程Highcharts 教程Google 地图 教程 服务端Python 教程Python2.x 教程Linux 教程Docker 教程Ruby 教程Java 教程C 教程C++ 教程Perl 教程Servlet 教程JSP 教程Lua 教程Rust 教程Scala 教程Go 教程PHP 教程数据结构与算法Django 教程FastAPI 教程Zookeeper 教程设计模式正则表达式Maven 教程Verilog 教程ASP 教程AppML 教程VBScript 教程 数据库SQL 教程MySQL 教程PostgreSQL 教程SQLite 教程MongoDB 教程Redis 教程Memcached 教程 数据分析Python 教程NumPy 教程Pandas 教程Matplotlib 教程Scipy 教程R 教程Julia 教程 移动端Android 教程Swift 教程jQuery Mobile 教程ionic 教程Kotlin 教程 XML 教程XML 教程DTD 教程XML DOM 教程XSLT 教程XPath 教程XQuery 教程XLink 教程XPointer 教程XML Schema 教程XSL-FO 教程SVG 教程 ASP.NETASP.NET 教程C# 教程Web Pages 教程Razor 教程MVC 教程Web Forms 教程 Web ServiceWeb Service 教程WSDL 教程SOAP 教程RSS 教程RDF 教程 开发工具Eclipse 教程Git 教程Svn 教程Markdown 教程 网站建设HTTP 教程网站建设指南浏览器信息网站主机教程TCP/IP 教程W3C 教程网站品质
Advertisement
反馈/建议
在线实例
·HTML 实例
·CSS 实例
·JavaScript 实例
·Ajax 实例
·jQuery 实例
·XML 实例
·Java 实例
字符集&工具
· HTML 字符集设置
· HTML ASCII 字符集
· JS 混淆/加密
· PNG/JPEG 图片压缩
· HTML 拾色器
· JSON 格式化工具
· 随机数生成器
最新更新
·
Rust 宏
·
Seaborn 教程
·
Pandas 相关性分析
·
31.2k star, 免...
·
Dev Home —...
·
免费开源的 AI ...
·
11.2k star, 免...
站点信息
·
意见反馈
·
免责声明
·
关于我们
·
文章归档
关注微信
Copyright © 2013-2024 菜鸟教程
runoob.com All Rights Reserved. 备案号:闽ICP备15012807号-1
微信关注
MAVEN在剑桥英语词典中的解释及翻译
MAVEN在剑桥英语词典中的解释及翻译
词典
翻译
语法
同义词词典
+Plus
剑桥词典+Plus
Shop
剑桥词典+Plus
我的主页
+Plus 帮助
退出
剑桥词典+Plus
我的主页
+Plus 帮助
退出
登录
/
注册
中文 (简体)
查找
查找
英语
maven 在英语中的意思
mavennoun [ C ] US informal uk
Your browser doesn't support HTML5 audio
/ˈmeɪ.vən/ us
Your browser doesn't support HTML5 audio
/ˈmeɪ.vən/
Add to word list
Add to word list
a person with good knowledge or understanding of a subject
“SMART 词汇”:相关单词和短语
Experts and specialists
a mine of information idiom
academician
artist
authority
boffin
child prodigy
doyenne
know something inside out idiom
lapidary
Latin Americanist
literati
savant
semiotician
skilled
smart money
sports scientist
whizz
wonder
wonderkid
wunderkind
查看更多结果»
(maven在剑桥高级学习词典和同义词词典中的解释 © Cambridge University Press)
maven | 美式英语词典
mavennoun [ C ]
infml us
Your browser doesn't support HTML5 audio
/ˈmeɪ·vən/
Add to word list
Add to word list
a person with good knowledge or understanding of a subject: Walter’s a baseball maven and knows Hank Aaron’s statistics by heart.
(maven在剑桥学术词典中的解释 © Cambridge University Press)
maven | 商务英语
mavennoun [ C ] US uk
Your browser doesn't support HTML5 audio
/ˈmeɪvən/ us
Your browser doesn't support HTML5 audio
Add to word list
Add to word list
an expert on a subject: The money maven takes her own advice. a fashion/media/design maven
(maven在剑桥商务英语词典中的解释 © Cambridge University Press)
maven的例句
maven
Their challenge, judged by two fashion mavens, was to assemble their own clothing line and be their own mannequins.
来自 Wikipedia
该例句来自维基百科,在CC BY-SA许可下可重复使用。
Maven can play out such states exhaustively in almost all cases.
来自 Wikipedia
该例句来自维基百科,在CC BY-SA许可下可重复使用。
Maven also has standard phases for cleaning the project and for generating a project site.
来自 Wikipedia
该例句来自维基百科,在CC BY-SA许可下可重复使用。
In network theory and sociology, a maven is someone who has a disproportionate influence on other members of the network.
来自 Wikipedia
该例句来自维基百科,在CC BY-SA许可下可重复使用。
Maven's dependency-handling mechanism is organized around a coordinate system identifying individual artifacts such as software libraries or modules.
来自 Wikipedia
该例句来自维基百科,在CC BY-SA许可下可重复使用。
We found this issue by asking mortgage mavens to pick the worst deal they knew of that had been floated by a top-tier firm and this one's pretty bad.
来自 Wikipedia
该例句来自维基百科,在CC BY-SA许可下可重复使用。
Maven's first games that used a simulation strategy.
来自 Wikipedia
该例句来自维基百科,在CC BY-SA许可下可重复使用。
Maven's pattern set gradually expanded from the base set of 100 to well over 400.
来自 Wikipedia
该例句来自维基百科,在CC BY-SA许可下可重复使用。
An ongoing battle for generational ownership has motivated a handful of marketing mavens and cultural commentators to coin and/or promote their own terms for subsegments of the baby-boomer generation.
来自 Wikipedia
该例句来自维基百科,在CC BY-SA许可下可重复使用。
She considers herself a self-proclaimed gossip maven.
来自 Wikipedia
该例句来自维基百科,在CC BY-SA许可下可重复使用。
Maven's lifecycle-concept handles this issue.
来自 Wikipedia
该例句来自维基百科,在CC BY-SA许可下可重复使用。
示例中的观点不代表剑桥词典编辑、剑桥大学出版社和其许可证颁发者的观点。
maven的发音是什么?
C1
maven的翻译
中文(繁体)
專家,內行…
查看更多内容
中文(简体)
专家,内行…
查看更多内容
西班牙语
experto, experta…
查看更多内容
葡萄牙语
especialista…
查看更多内容
需要一个翻译器吗?
获得快速、免费的翻译!
翻译器工具
浏览
Mauritius
mausoleum
mauve
mauveine
测试版
maven
maverick
maw
mawkish
mawkishly
“每日一词”
response
UK
Your browser doesn't support HTML5 audio
/rɪˈspɒns/
US
Your browser doesn't support HTML5 audio
/rɪˈspɑːns/
an answer or reaction
关于这个
博客
Forget doing it or forget to do it? Avoiding common mistakes with verb patterns (2)
March 06, 2024
查看更多
新词
inverse vaccine
March 11, 2024
查看更多
已添加至 list
回到页面顶端
内容
英语美式商务例句翻译
©剑桥大学出版社与评估2024
学习
学习
学习
新词
帮助
纸质书出版
Word of the Year 2021
Word of the Year 2022
Word of the Year 2023
开发
开发
开发
词典API
双击查看
搜索Widgets
执照数据
关于
关于
关于
无障碍阅读
剑桥英语教学
剑桥大学出版社与评估
授权管理
Cookies与隐私保护
语料库
使用条款
京ICP备14002226号-2
©剑桥大学出版社与评估2024
剑桥词典+Plus
我的主页
+Plus 帮助
退出
词典
定义
清晰解释自然的书面和口头英语
英语
学习词典
基础英式英语
基础美式英语
翻译
点击箭头改变翻译方向。
双语词典
英语-中文(简体)
Chinese (Simplified)–English
英语-中文(繁体)
Chinese (Traditional)–English
英语-荷兰语
荷兰语-英语
英语-法语
法语-英语
英语-德语
德语-英语
英语-印尼语
印尼语-英语
英语-意大利语
意大利语-英语
英语-日语
日语-英语
英语-挪威语
挪威语-英语
英语-波兰语
波兰语-英语
英语-葡萄牙语
葡萄牙语-英语
英语-西班牙语
西班牙语-英语
English–Swedish
Swedish–English
半双语词典
英语-阿拉伯语
英语-孟加拉语
英语-加泰罗尼亚语
英语-捷克语
英语-丹麦语
English–Gujarati
英语-印地语
英语-韩语
英语-马来语
英语-马拉地语
英语-俄语
English–Tamil
English–Telugu
英语-泰语
英语-土耳其语
英语-乌克兰语
English–Urdu
英语-越南语
翻译
语法
同义词词典
Pronunciation
剑桥词典+Plus
Shop
剑桥词典+Plus
我的主页
+Plus 帮助
退出
登录 /
注册
中文 (简体)
Change
English (UK)
English (US)
Español
Русский
Português
Deutsch
Français
Italiano
中文 (简体)
正體中文 (繁體)
Polski
한국어
Türkçe
日本語
Tiếng Việt
Nederlands
Svenska
Dansk
Norsk
हिंदी
বাঙ্গালি
मराठी
ગુજરાતી
தமிழ்
తెలుగు
Українська
关注我们
选择一本词典
最近的词和建议
定义
清晰解释自然的书面和口头英语
英语
学习词典
基础英式英语
基础美式英语
语法与同义词词典
对自然书面和口头英语用法的解释
英语语法
同义词词典
Pronunciation
British and American pronunciations with audio
English Pronunciation
翻译
点击箭头改变翻译方向。
双语词典
英语-中文(简体)
Chinese (Simplified)–English
英语-中文(繁体)
Chinese (Traditional)–English
英语-荷兰语
荷兰语-英语
英语-法语
法语-英语
英语-德语
德语-英语
英语-印尼语
印尼语-英语
英语-意大利语
意大利语-英语
英语-日语
日语-英语
英语-挪威语
挪威语-英语
英语-波兰语
波兰语-英语
英语-葡萄牙语
葡萄牙语-英语
英语-西班牙语
西班牙语-英语
English–Swedish
Swedish–English
半双语词典
英语-阿拉伯语
英语-孟加拉语
英语-加泰罗尼亚语
英语-捷克语
英语-丹麦语
English–Gujarati
英语-印地语
英语-韩语
英语-马来语
英语-马拉地语
英语-俄语
English–Tamil
English–Telugu
英语-泰语
英语-土耳其语
英语-乌克兰语
English–Urdu
英语-越南语
词典+Plus
词汇表
选择语言
中文 (简体)
English (UK)
English (US)
Español
Русский
Português
Deutsch
Français
Italiano
正體中文 (繁體)
Polski
한국어
Türkçe
日本語
Tiếng Việt
Nederlands
Svenska
Dansk
Norsk
हिंदी
বাঙ্গালি
मराठी
ગુજરાતી
தமிழ்
తెలుగు
Українська
内容
英语
Noun
美式
Noun
商务
Noun
例句
Translations
语法
所有翻译
我的词汇表
把maven添加到下面的一个词汇表中,或者创建一个新词汇表。
更多词汇表
前往词汇表
对该例句有想法吗?
例句中的单词与输入词条不匹配。
该例句含有令人反感的内容。
取消
提交
例句中的单词与输入词条不匹配。
该例句含有令人反感的内容。
取消
提交
IT 圈里有哪些经常被读错的词? - 知乎
IT 圈里有哪些经常被读错的词? - 知乎首页知乎知学堂发现等你来答切换模式登录/注册调查类问题计算机科技读音IT 业IT 圈里有哪些经常被读错的词?比如 Nginx(音 engine-x)、Tumblr(音 他m不乐),还有很多像 Linux, MySQL, GNOME, GNU… 同类问题:ht…显示全部 关注者2,736被浏览1,021,828关注问题写回答邀请回答好问题 222 条评论分享156 个回答默认排序Filestorm神经学等 3 个话题下的优秀答主 关注===总结版===*感谢各位朋友在评论中的指正。本贴旨在纠正各种明显的发音错误。如@梁海,@依云,@汤海所说,拿中文近似肯定会存在误差——对于这些误差,请直接参考音标或者真人发音。()标相应英文单词[]标音标=====公司/产品名=====Youtube (You-tube [tju:b]) 念 优tiu啵 不念 优吐毙Skype [ˈskaɪp] 念 死盖破 不念 死盖屁Adobe [əˈdəʊbi] 念 阿兜笔 不念 阿斗伯Chrome [krəʊm] 念 克肉姆C# (C Sharp) 念 C煞破GNU [(g)nuː] 念 哥怒GUI [ˈɡui] 念 故意JAVA [ˈdʒɑːvə] 念 扎蛙 不念 夹蛙AJAX [ˈeɪdʒæks] 念 诶(ei)贾克斯 不念 阿贾克斯Ubuntu [uˈbuntuː] 念 巫不恩兔 不念 友邦兔Debian [ˈdɛbiən] 念 得(dei)变Linux [ˈlɪnəks] [ˈlɪnʊks] 两种发音 丽娜克斯 和 李扭克斯 都可以LaTeX [ˈleɪtɛk] [ˈleɪtɛx] [ˈlɑːtɛx] [ˈlɑːtɛk] 雷泰克,拉泰克 都可以 (根据Knuth的建议,雷泰克斯和拉泰克斯不正确。而且LaTeX的重音是放在雷或拉上。感谢@Rio讨论。另外感谢发音大牛@梁海刚刚指出, [ˈlɑːtɛx] 注音符号里的x发的不是克斯的音,而是接近“巴赫”的那个赫。)GNOME [ɡˈnoʊm] [noʊm] 两种发音 格弄姆 弄姆 都可以 App [ˈæp] 念阿破(与爱破也比较像,参见音标),不能把三个字母拆开念成A P P。=====一般英语=====null [nʌl] 念 闹jpg [ˈdʒeɪpɛɡ] 念 zhei派个 不念 勾屁记WiFi [ˈwaɪfaɪ] 念 歪faimobile [moˈbil] [ˈmoˌbil] [ˈməubail] 膜拜哦 和 牟bou 都可以integer [ˈɪntɪdʒə] 念 音剃摺儿 不念 阴太阁儿cache [kæʃ] 念 喀什 不念 卡尺@ 念 at=====感谢@Lawrence Li同学的补遗=====Tumblr (Tumbler) 念 贪不勒nginx (Engine X)念 恩静 爱克斯(@Lawrence Li有不同意见)Apache [əˈpætʃiː] 念 阿趴气Lucene [ˈluːsin] 念 鲁信MySQL [maɪ ˌɛskjuːˈɛl] [maɪ ˈsiːkwəl] 念 买S奎儿 或 买吸扣 都可以Exposé [ɛksˈpəʊzeɪ] 念 埃克斯剖Z (重音在Z上)RFID 【本条争议颇大】:有人念af rid, ri fid,但是RFID官方念法依然是四个字母分开读R F I DJSON (jason) 念 zhei森Processing [ˈprəʊsesɪŋ] 重音在Pro上avatar [ˌævə'tɑr] 念 艾瓦塌儿编辑于 2011-09-12 19:56赞同 1706248 条评论分享收藏喜欢收起周东软件工程师/苹果控/热爱旅行和摄影 关注Mac OS X的X应该读成“ten"而不是"eks"发布于 2011-11-18 11:09赞同 8127 条评论分享收藏喜欢
Maven最全教程,看了必懂 - 知乎
Maven最全教程,看了必懂 - 知乎首发于Java知音切换模式写文章登录/注册Maven最全教程,看了必懂小知作者:啤酒大泡泡http://cnblogs.com/hzg110/p/6936101.html前言:目前所有的项目都在使用maven,可是一直没有时间去整理学习,这两天正好有时间,好好的整理一下。一、为什么使用Maven这样的构建工具【why】① 一个项目就是一个工程如果项目非常庞大,就不适合使用package来划分模块,最好是每一个模块对应一个工程,利于分工协作。借助于maven就可以将一个项目拆分成多个工程② 项目中使用jar包,需要“复制”、“粘贴”项目的lib中同样的jar包重复的出现在不同的项目工程中,你需要做不停的复制粘贴的重复工作。借助于maven,可以将jar包保存在“仓库”中,不管在哪个项目只要使用引用即可就行。③ jar包需要的时候每次都要自己准备好或到官网下载借助于maven我们可以使用统一的规范方式下载jar包,规范④ jar包版本不一致的风险不同的项目在使用jar包的时候,有可能会导致各个项目的jar包版本不一致,导致未执行错误。借助于maven,所有的jar包都放在“仓库”中,所有的项目都使用仓库的一份jar包。⑤ 一个jar包依赖其他的jar包需要自己手动的加入到项目中FileUpload组件->IO组件,commons-fileupload-1.3.jar依赖于commons-io-2.0.1.jar极大的浪费了我们导入包的时间成本,也极大的增加了学习成本。借助于maven,它会自动的将依赖的jar包导入进来。二、maven是什么【what】① maven是一款服务于java平台的自动化构建工具make->Ant->Maven->Gradle名字叫法:我们可以叫妹文也可以叫麦文,但是没有叫妈文的。② 构建构建定义:把动态的Web工程经过编译得到的编译结果部署到服务器上的整个过程。编译:java源文件[.java]->编译->Classz字节码文件[.class]部署:最终在sevlet容器中部署的不是动态web工程,而是编译后的文件③ 构建的各个环节清理clean:将以前编译得到的旧文件class字节码文件删除编译compile:将java源程序编译成class字节码文件测试test:自动测试,自动调用junit程序报告report:测试程序执行的结果打包package:动态Web工程打War包,java工程打jar包安装install:Maven特定的概念-----将打包得到的文件复制到“仓库”中的指定位置部署deploy:将动态Web工程生成的war包复制到Servlet容器下,使其可以运行三、安装maven① 当前系统是否配置JAVA_HOME的环境变量② 下载maven,解压maven放在一个非中文无空格的路径下③ 配置maven的相关环境变量在环境变量增加M2_HOME,路径是maven解压后的根目录在环境变量里的path中增加maven/bin的目录④ 验证:maven -v 查看maven版本看到版本信息,恭喜你已经OK了。四、第一个maven① 创建约定的目录结构(maven工程必须按照约定的目录结构创建)根目录:工程名|---src:源码|---|---main:存放主程序|---|---|---java:java源码文件|---|---|---resource:存放框架的配置文件|---|---test:存放测试程序|---pop.xml:maven的核心配置文件我们按照上面的文件夹目录结构手动创建一下,不用任何IDE环境(手动的其实最有助于我们理解maven)文件内容如下在src/main/java/com/hzg/maven目录下新建文件Hello.java,内容如下package com.hzg.maven;
public class Hello {
public String sayHello(String name){
return "Hello "+name+"!";
}
}POM文件内容:
② 常用maven命令mvn clean:清理mvn compile:编译主程序mvn test-compile:编译测试程序mvn test:执行测试mvn package:打包mvn install:安装执行maven命令必须进入到pom.xml的目录中进行执行进入到项目的pom.xml目录之后,就可以执行啦。1、运行 mvn compileOK,运行完毕,你在pom.xml配置的依赖的包已经导入到仓库了,问题来了,仓库默认的位置在哪?仓库的默认位置:c:Usrs[登录当前系统的用户名].m2repository刚才执行完compile之后,之前的文件夹发生了变化我们发现Hello项目里里多了一个target文件夹。文件夹的内容为:发现target里主要存放的就是编译后的字节码文件2、运行mvn test-compile,target文件夹下面除了classes之外多了test-classes文件夹3、运行mvn package,target文件夹下面又多了一个打好的jar包4、运行mvn clean,发现整个target文件夹都没了。又回到了编译之前我们手动创建的文件夹五、仓库和坐标① pom.xml:Project Object Model 项目对象模型。它是maven的核心配置文件,所有的构建的配置都在这里设置。② 坐标:使用下面的三个向量在仓库中唯一的定位一个maven工程③ maven工程的坐标与仓库中路径的关系:maven坐标和仓库对应的映射关系:[groupId][artifactId][version][artifactId]-[version].jar去本地仓库看一下此目录:orgspringframeworkspring-core4.3.4.RELEASEspring-core-4.3.4.RELEASE.jar果然是完全对应的(默认仓库地址上面说过了哦,不要说不知道在哪,没事下面我们再说一下仓库)④ 仓库仓库的分类:1、本地仓库:当前电脑上的仓库,路径上已经说过了哦2、远程仓库:私服:搭建在局域网中,一般公司都会有私服,私服一般使用nexus来搭建。具体搭建过程可以查询其他资料中央仓库:架设在Internet上,像刚才的springframework就是在中央仓库上六、依赖① maven解析依赖信息时会到本地仓库中取查找被依赖的jar包对于本地仓库中没有的会去中央仓库去查找maven坐标来获取jar包,获取到jar之后会下载到本地仓库对于中央仓库也找不到依赖的jar包的时候,就会编译失败了② 如果依赖的是自己或者团队开发的maven工程,需要先使用install命令把被依赖的maven工程的jar包导入到本地仓库中举例:现在我再创建第二个maven工程HelloFriend,其中用到了第一个Hello工程里类的sayHello(String name)方法。我们在给HelloFriend项目使用 mvn compile命令进行编译的时候,会提示缺少依赖Hello的jar包。怎么办呢?到第一个maven工程中执行 mvn install后,你再去看一下本地仓库,你会发现有了Hello项目的jar包。一旦本地仓库有了依赖的maven工程的jar包后,你再到HelloFriend项目中使用 mvn compile命令的时候,可以成功编译③ 依赖范围scope就是依赖的范围1、compile,默认值,适用于所有阶段(开发、测试、部署、运行),本jar会一直存在所有阶段。2、provided,只在开发、测试阶段使用,目的是不让Servlet容器和你本地仓库的jar包冲突 。如servlet.jar。3、runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。4、test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。5、system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。七、生命周期 Maven有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,初学者容易将Maven的生命周期看成一个整体,其实不然。这三套生命周期分别是:① Clean Lifecycle 在进行真正的构建之前进行一些清理工作。Clean生命周期一共包含了三个阶段:pre-clean 执行一些需要在clean之前完成的工作clean 移除所有上一次构建生成的文件post-clean 执行一些需要在clean之后立刻完成的工作② Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。validategenerate-sourcesprocess-sourcesgenerate-resourcesprocess-resources 复制并处理资源文件,至目标目录,准备打包compile 编译项目的源代码process-classesgenerate-test-sourcesprocess-test-sourcesgenerate-test-resourcesprocess-test-resources 复制并处理资源文件,至目标测试目录test-compile 编译测试源代码process-test-classestest 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署prepare-packagepackage 接受编译好的代码,打包成可发布的格式,如 JARpre-integration-testintegration-testpost-integration-testverifyinstall 将包安装至本地仓库,以让其它项目依赖。deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享那我们在Hello的项目中执行 mvn install 命令,通过日志看看中间经历了什么?通过日志我们发现,其实执行mvn install,其中已经执行了compile 和 test 。总结:不论你要执行生命周期的哪一个阶段,maven都是从这个生命周期的开始执行插件:每个阶段都有插件(plugin),看上面标红的。插件的职责就是执行它对应的命令。③ Site Lifecycle 生成项目报告,站点,发布站点。pre-site 执行一些需要在生成站点文档之前完成的工作site 生成项目的站点文档post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备site-deploy 将生成的站点文档部署到特定的服务器上八、Eclipse中使用maven①、配置选择菜单windows-->preferences(参数)-->maven选择Installations(安装),添加你自己下载并解压好的maven目录。并打上对勾 √,点击Apply(应用)再选择User Settings目录,在User Settings中选择Browse(浏览),选择你自己maven里的conf下的settings.xml文件。插一句:settings.xml这个配置文件,主要是配置你本地仓库的路径的。不想使用默认路径,就打开文件,加上自己的路径配置。
配置好build后,执行mvn package之后,在maven工程指定的target目录里war包和文件都按照配置的生成了好了,maven的所有的内容就整理完了。最后推荐个最新最全的maven依赖项版本查询网站:http://mvnrepository.com/发布于 2019-04-18 12:48MavenJava编程赞同 21211 条评论分享喜欢收藏申请转载文章被以下专栏收录Java知音Java知音在知乎的分