03-谷粒商城笔记
一个插件的install和生命周期的报错是不一样的
Maven找不到ojdbc6和sqljdbc4依赖包 这时候我找到了jar包,然后我就先找到一个jar安装到了本地仓库。
在终端上进行命令了:
mvn install:install-file -Dfile=D:\ojdbc6-11.2.0.4.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.4 -Dpackaging=jar
这自动安装到了我的本地仓库的文件夹里面:
再次更新Maven依赖即可达到。
我第一次成功了,还剩下一个jar没有下载听取群里网友的建议,第二次我就选择了在Maven中使用阿里云的镜像:
Maven不能在pom.xml文件调用阿里的镜像仓库要在setting.xml文件进行设置
pom.xml文件可以这样设置:
这样的,即便在Maven的官方仓库找不到依赖包也可以在阿里镜像找到。
----------------------------------------------------------------------------------------------------------------
Maven依赖:
手动删除整个本地仓库
- 删除
~/.m2/repository
目录: bash深色版本
rm -rf ~/.m2/repository
- 注意:这将删除所有本地缓存的依赖,下一次构建时 Maven 会重新从远程仓库下载所有依赖。这种方法适用于彻底清理,但可能会显著增加首次构建的时间。
(2) 使用 Maven 插件清理无用依赖
- Maven 提供了一些插件可以帮助分析和清理无用的依赖:
dependency:purge-local-repository
: 这个命令会清理本地仓库中当前项目未使用的依赖。 bash深色版本
mvn dependency:purge-local-repository
- 它会重新下载当前项目所需的依赖,并删除其他无用的依赖。
(3) 手动删除特定依赖
- 如果你知道某个依赖有问题(例如损坏或版本冲突),可以直接删除对应的文件夹。例如:
- 删除
org/springframework
下的所有 Spring 框架依赖: bash深色版本
rm -rf ~/.m2/repository/org/springframework
- 删除
(4) 使用第三方工具
- 一些工具可以帮助分析和清理本地仓库中的无用依赖:
mvn dependency:analyze
: 分析当前项目中未使用的依赖。 bash深色版本
mvn dependency:analyze
- 输出结果会显示哪些依赖是“未使用的”或“未声明的”。
4. 如何避免本地仓库中堆积无用依赖?
- 定期清理:
- 定期运行
mvn dependency:purge-local-repository
或手动清理无用依赖。
- 定期运行
- 优化依赖声明:
- 确保
pom.xml
文件中只声明项目真正需要的依赖。 - 避免引入不必要的传递性依赖(通过
dependencyManagement
或exclusions
控制)。
- 确保
- 使用私有仓库:
- 如果团队中有多个项目,建议使用私有 Maven 仓库(如 Nexus 或 Artifactory)来集中管理依赖,减少本地仓库的冗余。
5. 总结
-
本地仓库中的依赖:
- 不是所有依赖都会被当前项目使用,有些可能是其他项目的历史依赖。
- 它们只是存储在本地仓库中,只有在项目需要时才会被加载。
-
清理方法:
- 手动删除整个本地仓库(不推荐频繁使用)。
- 使用 Maven 插件(如
dependency:purge-local-repository
)清理无用依赖。 - 手动删除特定依赖或使用第三方工具分析依赖。