maven工具中插件和依赖的区别(unpack jar)

Difference between plugins and dependency in maven tool (unpack jar)

我是maven工具的新手,以下是我对插件和依赖的理解: Plugin 是执行任务的 Jar 文件,dependency 是提供 class 文件来执行任务的 Jar。 What is the difference in maven between dependency and plugin tags in pom xml?

当我在依赖标签中定义一些东西时,没有任何东西被下载到我的目标文件夹。而插件标签中定义的相同内容会将其下载到目标文件夹中。 为什么插件会解压jar文件?

更新: 插件按照插件目标中的定义进行解压。

When i define something in dependency tag, nothing is downloaded to my target folder.

没错,所有的依赖都放在了$USER_HOME/.m2/repository中。它们可以被其他 mvn 项目使用。

Whereas same thing defined in plugin tag downloads it in target folder. Why > plugin unpacks the jar file?

你能分享你的pom.xml吗?这可能取决于您的配置。

插件和依赖是完全不同的东西。

Maven 在构建期间使用插件。它们构成构建的不同部分。

依赖项是应该由您在构建中创建的 Java 程序使用的工件。

所以你例如需要 Maven 编译器插件来编译代码,但如果您的应用程序要使用 guava,请添加 guava 作为依赖项。