当前位置: 首页 > 知识库问答 >
问题:

maven插件之间的区别(汇编插件、jar-plugins、shaded-plugins)

农波涛
2023-03-14

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

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

共有1个答案

顾俊楚
2023-03-14
  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。这个插件特别有用,因为它合并特定文件的内容,而不是通过重新定位类来覆盖它们。当存在跨JAR具有相同名称的资源文件,并且插件试图将所有资源文件打包在一起时,就需要这样做。

参考:比较:Maven插件jar,assembly,shade

 类似资料:
  • Plugins can be either loaded by Smarty automatically from the filesystem or they can be registered at runtime via one of the register_* API functions. They can also be unregistered by using unregister

  • 插件是用标准JavaScript文件编写的一段代码。 这些文件提供了有用的jQuery方法,可以与jQuery库方法一起使用。 有很多jQuery插件可以从https://jquery.com/plugins存储库链接下载。 如何使用插件 为了使我们可以使用插件的方法,我们在文件的中包含了与jQuery库文件非常相似的插件文件。 我们必须确保它出现在主jQuery源文件之后,以及我们的自定义Jav

  • 当您开始构建应用程序时,大多数情况下您将需要使用一些额外的插件。 在本章中,您将学习如何在Aurelia框架中使用插件。 标准插件 在上一章中,我们了解了如何在Aurelia框架中使用默认配置。 如果您使用默认配置,则可以使用标准插件集。 defaultBindingLanguage() - 此插件提供了一种将view-model与view连接起来的简便方法。 您已经看到了单向数据绑定语法(${s

  • 我在我的项目中使用了assembly maven插件,在单个zip文件中从文件夹中交付JAR、生成可执行文件和一些脚本。我怎么能和格拉德一起呢?我见过gradle交付和应用程序插件,但我无法正确配置它们。

  • 则会出现相同的错误消息。 根据使用Flyway的Baedlung数据库迁移(他们使用的是Flyway Maven插件),在哪里配置Flyway并不重要。所以我想知道我是否应该切换到Flyway-maven-plugin?我真的希望所有配置都在.properties文件中。