赣州新闻网

首页 / 科技

公司来了一个low逼程序员

2020-03-10 · 赣州新闻网 · 科技

往期推荐

这400道面试题,决定了你去BAT还是TMD

SpringBoot统一日志处理原理

前言

某天你新入职一家公司,领导说第一件事,你先把自己的环境搭建好吧。

于是R 1 ! R你装了JDK,装好maven0 j B,装好IDEA开发环境,导入工程和项目,然而发现整个工程一片飘红,jar包冲突,项目path不对,maven包找不到依赖。。。

各类问题纷至沓来,半天时间过去了,你满头大汗,项目还是不能启动?怎么办?v ] ( d i & 5 : H身边陌生的同事不时投来询问的目光,仿佛在说,“来了一个low逼,一个开发环境都不会搞”。

这是我第一天去上班的情景,怎么样,你是否似曾相识?那问题来了,我们到底是哪里功力不到呢?这就F 4 a是今天要说的,当今java项目的基W 2 R 7 J h z &石---Maven,那么关于Maven5 , D i & !,我们要了解哪些呢?都在下面:

关于MavenY [ J我们需要知道:

  1. 本地仓库?Maven到底有哪些仓库?它们什么关v ) _ 8系?
公司来了一个low逼程序员


本地仓库路径配置

  1. 关于<dependency>的使用
公司来了一个low逼程序员


依赖管理

  1. Maven为什么会出现依赖冲突?如何处理依赖冲突?
  2. 引入依赖的最佳实践,提前发现问题!

在工程中,我们避免不了需要加一些依赖,也许加了依赖后运行时才发现存在依赖冲突在去解决,似乎有点晚!那么能不能提前发现问题呢?

如果我们新加入一个依赖的话,那么先通过mvn dependency:tree命令形成依赖树,看看我们新加入的依赖,是否存在传递依赖/ 0 { - V f 2,传递依赖中是否和依赖树中的版本存在冲突,如果存在多个版本冲突,利用上文的方式进行解决!

  1. Maven规范化目录结构
公司来了一个low逼程序员

  1. Maven的生命周期
公司来了一个low逼程序员


Maven生命周, ; # X ; k n /期

我们只需要注意一点:执行后面的命令时,前面的命令自动得到执行。实际上,我们最常用的就是这么几个:clean:有问题,多清理!pac+ C n q |kage:打成Jar or War包,会自动进行clean+compileinstall:将本地工程Jar上传到本地仓库d& % d .eploy:上传到私服

  1. 关于scope依赖范围
  2. 不同环A % m 7 X A 6境使用不同配置:Profile+Filter
  3. 多模块开发:继承与聚合
  4. 私服

私服,我们对其的印象,就如上图所示。其实在日常中,我们对于私服的操作主要在于:

第一:可以搜索依赖坐标得到XML片段;

第二:deploy 依赖到私服以及从私服下载依赖;

私服仓库类型:

group:一个仓库组,说白了,就是几个仓库的集合。hosted:宿主仓库,存储公司内部开发的jar,分为Releases/Snapshots。proxy:用于代理中央仓库。

在互联网项目开发中,尤其Java板块,Maven十分常见。Maven的仓库管理、依赖管理、继承和聚合等特性为项目的构建# e _ # 4 k d m提供了一整套完善的解决方案。如果你不懂Maven,遇到多模块的/ W T 3 _项目,依赖冲突就会让你(被水淹没)不知所措,甚至) 7 N R搞不懂项目的运行原理。你4 O V有没有被Mav~ d |en“伤害”过?

我这边整理了一些关于Maven以及java的学习进阶资料

公司来了一个low逼程序员


公司来了一个low逼程序员

需要领取资料的小伙伴,点关注+私信【资料】免费获取~

项目推荐小伙这是类型小伙伴公司石城程序员