文章目录

  • 1、maven本地仓库、远程仓库、中央仓库
  • 2、maven package、install、deploy
  • 3、Compile、Make和Build


1、maven本地仓库、远程仓库、中央仓库

在 Maven 的术语中,仓库是一个位置。软件开发中不可避免的需要引入大量的第三方库,这些库所在的位置在Maven中被称为 “仓库” 。 在 Maven 中任何一个依赖、插件或者项目构建的输出,都可以称之为 “构件” 。Maven 仓库能帮助我们管理构件(主要是JAR)。

Maven 仓库有三种类型:

本地仓库(local):顾名思义就是本地本机放置构件的地方。Maven 从远程仓库下载下来的构件都存放在本地仓库中,项目可以从本地 Maven 仓库中获取自己所依赖的文件。

中央仓库(central):Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。中央仓库是 Maven 官方提供的,可通过 http://search.maven.org/ 来访问。

远程私服(remote):私服一般是指公司内部使用的仓库。运行 Maven 时,Maven 所需要的任何构件都是从本地仓库获取的,但是如果本地仓库没有,它就会尝试从远程仓库中下载构件到本地仓库。如果 Maven 无法连接到远程仓库,将无法正常构建项目。

maven compile 目标文件在哪 maven中的compile_面试


2、maven package、install、deploy

最近项目更新一个新的版本遇到这样一个问题就是很多插件模块都在更新更改version版本,但是都是相互依赖,项目经理说建议我们本地改好version后都deploy一下,这样别人引用我们的项目就不会报红色了,很多人在同步更新的时候不使用这个功能会导致别人引用你的模块爆红!

命令

作用

package

完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

install

完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库。

deploy

完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

看到这里的deploy就了解了项目真正爆红的原因!

maven compile 目标文件在哪 maven中的compile_面试_02


3、Compile、Make和Build

这一条是针对JAVA开发工具而言

maven compile 目标文件在哪 maven中的compile_单元测试_03

在Java的集成开发环境中,比如Eclipse、IDEA中,有常常有三种与编译相关的选项Compile、Make、Build三个选项。这三个选项最基本的功能都是完成编译过程。具体区别如下:

1、Compile:只编译选定的目标,不管之前是否已经编译过。

2、Make:编译选定的目标,但是Make只编译上次编译变化过的文件,减少重复劳动,节省时间。(具体怎么检查未变化,IDE自己内部会搞定这些的)

3、Build:是对整个工程进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置 了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工 作,因此时间较长。


补充:解决IDEA右侧maven不显示方法

Ctrl+shift+A --> maven–> add maven projects -->选择对应的pom.xml


The best investment is to invest in yourself.

2020.10.14 愿你们奔赴在自己的热爱里!