imtoken钱包安卓版手机下载|maven怎么读

作者: imtoken钱包安卓版手机下载
2024-03-12 12:45:08

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 远程镜像配置由于默认的中央仓库下载较慢,因此,也可以将远程仓库地址改为阿里巴巴的仓库地址:

nexus-aliyun

central

Nexus aliyun

http://maven.aliyun.com/nexus/content/groups/public

复制代码这段配置,加在 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 坐标

junit

junit

4.11

test

复制代码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 表示失效的依赖(优先级低的依赖,即路径近的依赖优先使用):上面这两条是默认行为。我们也可以手动控制。手动控制主要是通过排除依赖来实现,如下:

org.springframework

spring-context

5.1.9.RELEASE

org.springframework

spring-core

复制代码这个表示从 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 文件配置:

releases

admin

admin123

snapshots

admin

admin123

复制代码在要上传 jar 的项目的 pom.xml 文件中,配置上传路径:

releases

http://localhost:8081/repository/maven-releases/

snapshots

http://localhost:8081/repository/maven-snapshots/

复制代码配置完成后,点击 deploy 按钮,或者执行 mvn deploy 命令就可以将 jar 上传到私服上。7.2.3 下载私服上的 jar直接在项目中添加依赖,添加完成后,额外增加私服地址即可:

local-repository

http://localhost:8081/repository/maven-public/

true

true

复制代码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 节点描述了它的父模块的属性值:

javaboy-parent

org.javaboy

1.0-SNAPSHOT

复制代码这个 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 远程镜像配置由于默认的中央仓库下载较慢,因此,也可以将远程仓库地址改为阿里巴巴的仓库地址:

nexus-aliyun

central

Nexus aliyun

http://maven.aliyun.com/nexus/content/groups/public

复制代码这段配置,加在 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 坐标

junit

junit

4.11

test

复制代码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 表示失效的依赖(优先级低的依赖,即路径近的依赖优先使用):上面这两条是默认行为。我们也可以手动控制。手动控制主要是通过排除依赖来实现,如下:

org.springframework

spring-context

5.1.9.RELEASE

org.springframework

spring-core

复制代码这个表示从 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 文件配置:

releases

admin

admin123

snapshots

admin

admin123

复制代码在要上传 jar 的项目的 pom.xml 文件中,配置上传路径:

releases

http://localhost:8081/repository/maven-releases/

snapshots

http://localhost:8081/repository/maven-snapshots/

复制代码配置完成后,点击 deploy 按钮,或者执行 mvn deploy 命令就可以将 jar 上传到私服上。7.2.3 下载私服上的 jar直接在项目中添加依赖,添加完成后,额外增加私服地址即可:

local-repository

http://localhost:8081/repository/maven-public/

true

true

复制代码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 节点描述了它的父模块的属性值:

javaboy-parent

org.javaboy

1.0-SNAPSHOT

复制代码这个 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 远程镜像配置由于默认的中央仓库下载较慢,因此,也可以将远程仓库地址改为阿里巴巴的仓库地址:

nexus-aliyun

central

Nexus aliyun

http://maven.aliyun.com/nexus/content/groups/public

复制代码这段配置,加在 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 坐标

junit

junit

4.11

test

复制代码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 表示失效的依赖(优先级低的依赖,即路径近的依赖优先使用):上面这两条是默认行为。我们也可以手动控制。手动控制主要是通过排除依赖来实现,如下:

org.springframework

spring-context

5.1.9.RELEASE

org.springframework

spring-core

复制代码这个表示从 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 文件配置:

releases

admin

admin123

snapshots

admin

admin123

复制代码在要上传 jar 的项目的 pom.xml 文件中,配置上传路径:

releases

http://localhost:8081/repository/maven-releases/

snapshots

http://localhost:8081/repository/maven-snapshots/

复制代码配置完成后,点击 deploy 按钮,或者执行 mvn deploy 命令就可以将 jar 上传到私服上。7.2.3 下载私服上的 jar直接在项目中添加依赖,添加完成后,额外增加私服地址即可:

local-repository

http://localhost:8081/repository/maven-public/

true

true

复制代码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 节点描述了它的父模块的属性值:

javaboy-parent

org.javaboy

1.0-SNAPSHOT

复制代码这个 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 远程镜像配置由于默认的中央仓库下载较慢,因此,也可以将远程仓库地址改为阿里巴巴的仓库地址:

nexus-aliyun

central

Nexus aliyun

http://maven.aliyun.com/nexus/content/groups/public

复制代码这段配置,加在 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 坐标

junit

junit

4.11

test

复制代码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 表示失效的依赖(优先级低的依赖,即路径近的依赖优先使用):上面这两条是默认行为。我们也可以手动控制。手动控制主要是通过排除依赖来实现,如下:

org.springframework

spring-context

5.1.9.RELEASE

org.springframework

spring-core

复制代码这个表示从 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 文件配置:

releases

admin

admin123

snapshots

admin

admin123

复制代码在要上传 jar 的项目的 pom.xml 文件中,配置上传路径:

releases

http://localhost:8081/repository/maven-releases/

snapshots

http://localhost:8081/repository/maven-snapshots/

复制代码配置完成后,点击 deploy 按钮,或者执行 mvn deploy 命令就可以将 jar 上传到私服上。7.2.3 下载私服上的 jar直接在项目中添加依赖,添加完成后,额外增加私服地址即可:

local-repository

http://localhost:8081/repository/maven-public/

true

true

复制代码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 节点描述了它的父模块的属性值:

javaboy-parent

org.javaboy

1.0-SNAPSHOT

复制代码这个 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 远程镜像配置由于默认的中央仓库下载较慢,因此,也可以将远程仓库地址改为阿里巴巴的仓库地址:

nexus-aliyun

central

Nexus aliyun

http://maven.aliyun.com/nexus/content/groups/public

复制代码这段配置,加在 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 坐标

junit

junit

4.11

test

复制代码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 表示失效的依赖(优先级低的依赖,即路径近的依赖优先使用):上面这两条是默认行为。我们也可以手动控制。手动控制主要是通过排除依赖来实现,如下:

org.springframework

spring-context

5.1.9.RELEASE

org.springframework

spring-core

复制代码这个表示从 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 文件配置:

releases

admin

admin123

snapshots

admin

admin123

复制代码在要上传 jar 的项目的 pom.xml 文件中,配置上传路径:

releases

http://localhost:8081/repository/maven-releases/

snapshots

http://localhost:8081/repository/maven-snapshots/

复制代码配置完成后,点击 deploy 按钮,或者执行 mvn deploy 命令就可以将 jar 上传到私服上。7.2.3 下载私服上的 jar直接在项目中添加依赖,添加完成后,额外增加私服地址即可:

local-repository

http://localhost:8081/repository/maven-public/

true

true

复制代码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 节点描述了它的父模块的属性值:

javaboy-parent

org.javaboy

1.0-SNAPSHOT

复制代码这个 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关注问题​写回答​邀请回答​好问题 22​2 条评论​分享​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​赞同 1706​​248 条评论​分享​收藏​喜欢收起​周东软件工程师/苹果控/热爱旅行和摄影​ 关注Mac OS X的X应该读成“ten"而不是"eks"发布于 2011-11-18 11:09​赞同 81​​27 条评论​分享​收藏​喜欢

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文件内容:

4.0.0

com.hzg.maven

Hello

0.0.1-SNAPSHOT

Hello

junit

junit

4.0

test

② 常用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这个配置文件,主要是配置你本地仓库的路径的。不想使用默认路径,就打开文件,加上自己的路径配置。C:Program FilesJavarepository到此,maven整个的设置就OK了。② 使用Eclipse创建maven的Web工程1、选择菜单File-->new -->project,输入maven选择Maven Project,点击Next点击Next输入webapp,选中第一项,点击next项目就创建完成了,但是jdk的版本还有sevlet-api等jar包还没有选择创建好的工程单击右键,选择properties 并找到 Java Build Path,把jdk的版本选择你电脑上的正确的jdk版本。选择创建好的工程单击右键,选择properties 并找到 Project Facets,版本选择3.1,下面的java版本选择1.8,点击Apply选择创建好的工程单击右键,找到build path找到Libaries,添加Tomcat8.5的依赖库,点击OK九、maven工程的依赖高级特性① 依赖的传递性WebMavenDemo项目依赖JavaMavenService1 JavaMavenService1项目依赖JavaMavenService2pom.xml文件配置好依赖关系后,必须首先mvn install后,依赖的jar包才能使用。WebMavenDemo的pom.xml文件想能编译通过,JavaMavenService1必须mvn installJavaMavenService的pom.xml文件想能编译通过,JavaMavenService2必须mvn install传递性:在Eclipse中,为JavaMavenService2中增加了一个spring-core.jar包后,会惊喜的发现依赖的两个项目都自动的增加了这个jar包,这就是依赖的传递性。注意:非compile范围的依赖是不能传递的。② 依赖版本的原则:1、路径最短者优先原则Service2的log4j的版本是1.2.7版本,Service1排除了此包的依赖,自己加了一个Log4j的1.2.9的版本,那么WebMavenDemo项目遵守路径最短优先原则,Log4j的版本和Sercive1的版本一致。2、路径相同先声明优先原则这种场景依赖关系发生了变化,WebMavenDemo项目依赖Sercive1和Service2,它俩是同一个路径,那么谁在WebMavenDemo的pom.xml中先声明的依赖就用谁的版本。③ 统一管理依赖的版本:为了统一管理版本号,可以使用properties标签,里面可以自定义版本的标签名。在使用的地方使用${自定义标签名}十、build配置

  

  WebMavenDemo

  

  

    

    

      

      src/main/java

      

      

        **/*.xml

      

      

      

        **/*.txt

          **/*.doc

      

    

  

  

  

    

      org.apache.maven.plugins

      maven-compiler-plugin

      2.1

      

        

        1.8

        

        1.8

      

    

    

    

      org.apache.maven.plugins

      maven-resources-plugin

      2.1

      

        

          compile

        

      

      

        UTF-8

      

    

    

    

      org.apache.maven.plugins

      maven-war-plugin

      2.1

      

        

        WebMavenDemo1

      

    

  

配置好build后,执行mvn package之后,在maven工程指定的target目录里war包和文件都按照配置的生成了好了,maven的所有的内容就整理完了。最后推荐个最新最全的maven依赖项版本查询网站:http://mvnrepository.com/发布于 2019-04-18 12:48MavenJava编程​赞同 212​​11 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录Java知音Java知音在知乎的分