我每天在我的工作中使用Maven超过5年。但我从未尝试过测试最小依赖项目。
所以我在磁盘上创建了一个新目录并放在pom.xml
文件中。它是您可以创建的最简单的pom文件。它只包含这个:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>info.jikra</groupId>
<artifactId>whatever</artifactId>
<version>0.1</version>
</project>
就是这样。没有更多。没有其他目录,没有单个Java文件,没有。
然后我清除了我的本地存储库,并在我的pom文件的文件夹中运行mvn clean install
。
Maven下载了大量我不需要的依赖项。我的项目是空的,只有一个pom文件。然而,现在我的本地存储库中有超过7,6M的文件。
我不是任何一种Maven主人,所以我想知道为什么所有这些依赖都是必要的。有谁知道吗?
答案 0 :(得分:3)
您的项目包含一些predefined plugins declared以及packaging
(默认为jar
)which defines其他插件列表及其绑定。这些将与其传递依赖性一起下载。
您可以运行mvn help:effective-pom
以查看项目中实际的内容。
您还可以使用以下代码查看插件及其依赖项:mvn dependency:resolve-plugins