• maven-plugin-shade 详解1


    maven-plugin-shade 是 Maven 的一个插件,它的作用是将多个 jar 包合并成一个 jar,同时将其中的依赖关系也合并到该 jar 中。这个插件常用于创建可执行 jar 包和打包 web 应用程序。

    下面是 maven-plugin-shade 的一些常用配置:

    1. 打包的形式:可以设置打包成一个可执行的 jar 包或者一个普通的 jar 包。

    2. 排除依赖:可以设置排除某些依赖,避免重复打包。

    3. 过滤资源:可以通过配置来过滤掉一些不需要打包的资源。

    4. 重新定位依赖:如果合并后的依赖不能与原来的 jar 包兼容,可以通过重新定位的方式来解决。

    5. 转换类文件:可以对 class 文件进行转换,比如修改包名或类名等。

    使用 maven-plugin-shade 打包 jar 包的步骤如下:

    1. 在 pom.xml 文件中添加 maven-shade-plugin 插件。

    2. 配置要合并的 jar 包以及排除的依赖、过滤资源等信息。

    3. 运行 Maven 命令进行打包。

    示例:

    1. <build>
    2. <plugins>
    3. <plugin>
    4. <groupId>org.apache.maven.pluginsgroupId>
    5. <artifactId>maven-shade-pluginartifactId>
    6. <version>3.2.1version>
    7. <configuration>
    8. <createDependencyReducedPom>truecreateDependencyReducedPom>
    9. <shadedArtifactAttached>trueshadedArtifactAttached>
    10. <shadedClassifierName>executableshadedClassifierName>
    11. <transformers>
    12. <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
    13. <mainClass>${mainClass}mainClass>
    14. transformer>
    15. transformers>
    16. <filters>
    17. <filter>
    18. <artifact>*:*artifact>
    19. <excludes>
    20. <exclude>META-INF/*.SFexclude>
    21. <exclude>META-INF/*.DSAexclude>
    22. <exclude>META-INF/*.RSAexclude>
    23. excludes>
    24. filter>
    25. filters>
    26. configuration>
    27. plugin>
    28. plugins>
    29. build>

    在配置中,我们设置了要创建一个可执行的 jar 包,并指定了 mainClass。同时,我们设置了过滤规则,排除了一些不需要打包的文件。

    运行 Maven 命令 mvn package 进行打包,就会在 target 目录下生成一个可执行的 jar 包。

  • 相关阅读:
    游戏合作伙伴专题:BreederDAO 与《王国联盟》结成联盟
    【文化课学习笔记】【化学】选必一:化学反应速率
    django 链接mysql数据库问题
    week 6 贪心
    pytorch快速上手(8)-----pytorch优化器简介
    七、装饰者模式
    Win10+MX350+CUDA10.2+Python3.9配置Detectron2
    kubeadm 部署方式修改kube-proxy为 ipvs模式
    R语言ggplot2可视化:使用ggpubr包的ggviolin函数可视化小提琴图
    SQL语句中 LEFT JOIN 后 ON 和 WHERE 的区别
  • 原文地址:https://blog.csdn.net/h_bpdwn/article/details/133909655