Apache Maven:本地安装的依赖项和库在哪里?

时间:2013-04-15 06:23:53

标签: java maven

我正在构建一个依赖于库的Java项目。 mvn.bat clean install按预期生成了target个子目录,并且该项目也可以使用mvn.bat clean install生成。

当我删除整个库的目录时,外部项目仍然很好,虽然它所依赖的库已经不存在了。

这是如何运作的?

更新:原来,Maven在%USERPROFILE\.m2中制作了某种缓存。

2 个答案:

答案 0 :(得分:4)

您很可能会考虑本地存储库,其中您在本地安装的所有内容(以及来自中央存储库的maven下载)都会放在以后使用。

您描述的行为是有意的,并且允许构建A一次,然后让B在需要时引用它,而不必每次都重新编译A.这通常是非常理想的,特别是在团队或代码库中。

注意,对于更改代码,您应该使用-SNAPSHOT工件。它们的处理方式略有不同。

答案 1 :(得分:3)

您的依赖项始终下载到.m2 / repository。

如果您希望对团队中下载的库有一定的可预测性,您可以设置像Nexus这样的存储库管理器:https://repository.apache.org/index.html#welcome

您的开发人员不会从Maven中心下载依赖项,而是从此存储库管理器下载其依赖项。