1.背景
问题引入:为什么要使用 Maven?
1.1 添加第三方 jar 包
在 JavaEE 开发领域,有大量的第三方框架和工具可以供我们使用。使用这些 jar 包最简单的方法就是复制粘贴到 WEB-INF 目录中的 lib 目录下。但是会导致每次创建一个新工程就需要将 jar 包重复复制到 lib 目录下,从而造成工作区中存在大量重复的文件。而使用 Maven 后每个 jar 包只在本地仓库中保存一份,需要 jar 包的工程只需要维护一个文本形式的 jar 包的引用——我们称之为 “坐标”。不仅极大的节约了存储空间,让项目更轻巧,更避免了重复文件太多而造成的混乱。
1.2 jar 包之间的依赖关系
jar 包往往不是孤立存在的,很多jar包都需要在其他jar包的支持下才能够正常工作,称之为jar包之间的依赖关系。最典型的例子是:commons-fileupload-1.3.jar 依赖于 commons-io-2.0.1.jar,如果没有 io 包,FileUpload 包就不能正常工作。那么问题来了,你知道你所使用的所有jar包的依赖关系吗?答案是否定的。而引入 Maven 后,Maven 就可以自动将当前 jar 包所依赖的其他所有jar包全部导入进来,无需人工参与,节约了我们大量的时间和精力。用实际例子来说明就是:通过Maven导入 commons-