gpt4 book ai didi

java - maven 插件之间的区别 ( assembly-plugins , jar-plugins , shaded-plugins )

转载 作者:IT老高 更新时间:2023-10-28 20:43:42 29 4
gpt4 key购买 nike

我是 maven 的初学者,现在我对这些 maven 插件之间的区别感到困惑。这些都是创建jar文件吗?现在我的问题是

  1. 各个插件创建的jar有什么区别。(组装插件、jar-plugin、shaded插件)

  2. 每个插件的用途。 (程序集、jar 插件、阴影插件)

  3. 我知道,即使没有指定任何这些插件,一旦键入 mvn package,就会有一个 jar 输出。没有这些插件的输出 jar 和有这些插件的输出 jar 有什么区别? TIA

最佳答案

  1. maven-jar-plugin:这个插件提供了构建和签署 JAR 的能力。但它只是编译 src/main/javasrc/main/resources/ 下的 java 文件。它不包括依赖项 JAR 文件。
  2. maven-assembly-plugin:此插件将所有依赖 JAR 提取到原始类中并将它们组合在一起。它还可以用于通过指定主类来构建可执行 JAR。它仅适用于依赖较少的项目;对于有很多依赖的大型项目,会导致Java类名冲突。
  3. maven-shade-plugin:将所有依赖打包到一个 uber-JAR 中。它还可以用于通过指定主类来构建可执行 JAR。这个插件特别有用,因为它合并了特定文件的内容,而不是被 relocating classes 覆盖。 .当 JAR 中存在同名的资源文件并且插件尝试将所有资源文件打包在一起时,需要这样做。

引用:comparison:maven plugin jar,assembly,shade

关于java - maven 插件之间的区别 ( assembly-plugins , jar-plugins , shaded-plugins ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38548271/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com