Maven依赖的是本地工程还是仓库jar包

如题所述

  相信大家都碰见过 maven 配置的依赖或者是 jar 包或者是工程,在开发的过程当中,当然需要引入的是工程,这样查看 maven 依赖的文件的时候,就能直接查看到源码。
  一、本地工程依赖
  举个例子,其架构如下所示(以下均使用eclipse中m2eclipse插件进行演示)——
  此时,这里依赖的“dependency-to-hello”指代的是eclipse工作空间中的工程,这样,直接源码依赖的便是工作空间里的源码,这样很方便,也是需要的。会注意到,所依赖的“dependency-to-hello”工程,并没有显示其路径,也就是默认的工作空间的地址。
  那么,什么时候maven依赖的是仓库(本地仓库或远程仓库)中的jar包呢?
  二、(本地/远程)仓库jar包依赖
  很简单的方法之一,直接把“dependency-to-hello”工程关闭掉(close project),这样,就得到这样一个视图——
  会看到,此时maven依赖的正是对应“dependency-to-hello”工程的jar文件,并且,后面的路径显示是从maven仓库里面取的。
  三、工程依赖及仓库依赖的转换
  OK,现在还原之,我们将工程“dependency-to-hello”打开,会看到对应的maven依赖又变回原来的工程依赖了。
  需要说的是,当重新打开工程“dependency-to-hello”的时候,hello工程并没有出现红色感叹号,也就是无须做“update dependencies”等的更新maven依赖等操作。
  从这里,我们就能够看出来——m2eclipse首先查看是否能够从本地工程库中得到对应的maven依赖,如何存在,则将本地工程依赖进来;如何不存在,则从本地仓库/远程仓库中加载解析对应的jar包依赖。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答