Maven Shade minimizeJar 将 H2 切碎,即使配置为不
Posted
技术标签:
【中文标题】Maven Shade minimizeJar 将 H2 切碎,即使配置为不【英文标题】:Maven Shade minimizeJar shreds H2 even when configured not to 【发布时间】:2014-08-14 15:40:41 【问题描述】:有人在使用 H2 时使用过 maven shade 的 minimizejar 功能吗?
像documentation 一样,我将 pom.xml 文件配置为让 minimizejar 忽略 H2
<minimizeJar>true</minimizeJar>
<filters>
<filter>
<artifact>com.h2database:h2</artifact>
<includes>
<include>**</include>
</includes>
</filter>
...
minimizeJar 粉碎 H2 和许多关键类文件丢失(如 Driver.class 和 Engine.class)这似乎不会发生在 Maven 的其他包中。
我的完整 pom.xml 是 here(没有 minimizeJar 功能)。
【问题讨论】:
您是否在使用 1.5 的 pom 中尝试过新版本(2.3)的 maven-shade-plugin ? @khmarbaise 我会试试看,我不知道我已经过时了。 如果您查看此页面:maven.apache.org/plugns,您将了解最新的插件版本。此外,我建议订阅 maven-users 或至少订阅 maven-announcement 列表(maven.apache.org 上的地址)以获取通知。 【参考方案1】:问题是 maven-shade 的版本太旧了。在 maven-shade 1.6 中部署了忽略文件的功能。
“从 1.6 版开始,minimizeJar 将尊重之前的类 专门标记为包含在过滤器中。"
【讨论】:
以上是关于Maven Shade minimizeJar 将 H2 切碎,即使配置为不的主要内容,如果未能解决你的问题,请参考以下文章
将 maven-bundle-plugin 与 maven-shade-plugin 一起使用
maven-shade-plugin 错误:在“资源”的 org.apache.maven.plugins.shade.resource.ManifestResourceTransformer 中找不
[Apache Maven Shade Plugin] [example] [001] 官方例子:includes-excludes