首先,什么是jar包,jar包其实就是一个a项目打成了a.jar包,然后b项目引入了a.jar包,然后b项目就能用到a项目里面的工具类了.
b项目怎么引入a.jar包呢.
第一种:直接把a.jar包放到lib文件夹下(不推荐)
第二种:在pom里添加maven依赖,把a.jar包引过来(推荐)
在pom里加的依赖跟直接把jar包放到lib文件夹下有什么区别呢.
pom里加依赖和把jar包放到lib文件夹下的区别
第一种:pom里加依赖
首先解释一下为什么我就在pom文件里引了一个依赖,maven却给我下了好几个jar包,这是为什么呢,
因为你加的这个依赖自己又引用了其他的依赖,所以要连引的其他的依赖jar包也要下载下来,
打开本地仓库jar包所在目录,查看对应jar包的pom文件,是否依赖了其他jar包。
下面的例子:明明引了一个依赖,在maven中看到它下面却下载了6个依赖.
可以看到,用鼠标选中pom文件引的maven依赖后,会出现个弹框显示出此依赖在本地仓库的具体位置.但是要注意的是,此位置指的不是jar包,而是pom文件,
下面我们打开此依赖在maven仓库的位置,然后找到里面的pom文件
打开此依赖的pom文件,发现此依赖果然又引用了其他的依赖.maven通过读取pom文件,然后就把pom文件里的依赖全部下载了下来.
第二种:把此jar包单独放到lib文件夹下
把此jar包单独放到lib文件夹下,可以看到,此jar包内包含自己引的其他jar包虽然有pom文件,但是并不会被maven读取而下载自己引的jar包.因此在运行时如果用到了引的其他jar包,就会报找不到**jar包错误.
总结:
在pom里加依赖,maven可以通过读取此依赖的pom文件,把此依赖所依赖的jar包全部下载下来.
而把此jar包单独放到lib文件夹下,虽然也有pom文件,但是并不会被maven读取而下载自己引的jar包.