问题标签 [maven-shade-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
210 浏览

java - 如何运行将 Akka 打包在一个胖 jar 中的 SUIM 示例?

如何运行将 Akka 打包在一个胖 jar 中的 SUIM 示例?

按照项目的自述文件,我收到以下错误,大意是缺少 Akka 配置元素。

我使用 Maven 作为构建工具。几个网站说我可以通过使用 Maven shade 插件来解决这个问题。按照推荐使用阴影插件构建,我仍然得到同样的错误。所以我想我做错了。有人可以发现我缺少什么 - 或指出我需要做的其他事情吗?我已将下面的阴影插件配置添加到 SUIM 源代码中的示例 pom 并重新构建。

当然,我希望作者能够以某种方式在没有阴影插件的情况下运行它。因此,如果有办法完全绕过它,请告诉我。

配置

错误

SUIM是一个融合了 Apache UIMA 和 Spark 的项目。

0 投票
4 回答
4217 浏览

java - 如何动态跳过 maven antrun copy/shade:shade 目标?

我正在使用 maven 配置由多个小服务组成的应用程序。大多数用java开发的服务共享相同的maven配置,就像在相同的构建生命周期中一样,一些共享资源(如spring AMQP)。

所以我在 SuperPom 中组织了共享资源。

虽然 shade 插件似乎并没有真正干扰安装过程,但 antrun 插件当然不会找到它应该复制的任何文件,因为 shade 插件没有创建任何 jar 文件。

由于我希望在 SuperPom 中抽象 shade/antrun 插件的配置,我需要跳过 shade/copy 目标。

我试过了mvn clean install -Dmaven.shade.skip=true,,,mvn clean install -Dmaven.copy.skip=truemvn clean install -Dmaven.shade.shade.skip=true

这是一个小示例供您使用:

0 投票
1 回答
1233 浏览

javafx - 从 USB 运行 java 应用程序

我正在尝试构建一个跨平台(vista、xp、mac、Linux)。我需要将应用程序放在格式化为 FAT-32 的 USB 驱动器中,它应该可以在任何操作系统计算机上运行。计划使用 Java/JavaFx 来做。

任何建议我们如何在多个平台上运行。

嗨,任何人都可以建议使用 uber-jar 来满足上述要求。会不会很合适。

0 投票
3 回答
4605 浏览

java - 找不到 XML 模式命名空间 springframework 上下文的 Spring NamespaceHandler

我正在尝试使用 maven shade 插件构建一个具有依赖关系的单个可执行 jar 文件。在我的 pom.xml 中,我添加了对我在本地编译的包(mvn install)的依赖,这也是一个基于 springframework 的包。但是当我运行我的应用程序时出现以下错误。

线程“主”org.springframework.beans.factory.parsing.BeanDefinitionParsingException 中的异常:配置问题:找不到 XML 模式命名空间的 Spring NamespaceHandler [ http://www.springframework.org/schema/context] 违规资源:类路径资源 [applicationContext.xml]

虽然今天花了一半的时间在谷歌上搜索答案,但我发现不同的 springframework 模块的清单文件可以相互覆盖,因此我必须使用 AppendingTransformer 以便它们可以被附加而不是被覆盖。所以我添加了这些行,但它仍然失败。有什么问题?

这是我的插件定义。

更新 这是我的 applicationContext.xml (部分)

0 投票
1 回答
212 浏览

maven - Maven Shade minimizeJar 将 H2 切碎,即使配置为不

有没有人在使用 H2 时使用过 maven shade 的 minimizejar 功能?

文档一样,我将 pom.xml 文件配置为让 minimizejar 忽略 H2

minimizeJar 粉碎 H2 和许多关键类文件丢失(如 Driver.class 和 Engine.class) 这似乎不会发生在来自 Maven 的其他包中。

我的完整 pom.xml 在这里(没有 minimizeJar 功能)。

0 投票
1 回答
2240 浏览

java - 相对于最终 Jar 的 Maven Shade 外部属性文件

大家好!!

对不起,如果这是一个愚蠢的问题,但我是 Maven 的新手并且已经陷入僵局!

  1. 我有一个使用 MyTest.properties、MoreMyTest.properties 的项目。
  2. 我使用 Maven Shade 插件将此项目构建为 .jar 文件,效果很好!不幸的是,shade 插件将 MyTest.properties 打包到我的 jar 文件中。

然后,当我尝试执行 jar 时出现此错误。

java.io.FileNotFoundException:无法找到:文件中的属性/MyTest.properties:\C:\Dev\test.jar!\properties\MyTest.properties 在...

我想在我的 IDE 中访问我的属性,并在部署时从命令行运行 jar。我正在考虑将我的属性文件放在我的 jar 文件位置上方的相对文件夹 ../lib/ 中。

在我的程序中,我想像这样访问属性:

我尝试将此添加到我的 POM.xml

(抱歉,上面的代码片段的格式弄乱了!)

但是,它不起作用。我真的很感激这方面的任何帮助。我没有发布所有代码,因为代码真的很大,但我希望你能了解我想要实现的目标。

非常感谢,保罗

0 投票
1 回答
1382 浏览

java - 如何告诉 maven-shade-plugin 保留签名?

我正在使用 maven-shade-plugin 将两个单独的 jar 组合成一个组合 jar。

其中一个罐子有签名,而另一个没有。

如果我使用插件的默认配置,它将构建一个损坏的 jar,因为新清单缺少签名所需的摘要。

我可以通过排除签名文件来“修复”jar,但这当然会导致一个完全未签名的 jar。

我正在寻找一种方法来创建一个组合 jar,其中所有已签名的类都保持签名和有效。- jar 格式允许使用这些类型的 jar,但我找不到一种简单的方法来告诉 shade 插件这样做。

我应该编写自己的转换器来正确合并清单文件,还是在我没有找到的阴影插件中已经有合适的选项?


例子:

pom.xml(定义两个模块“foo”和“bar”)

foo/pom.xml:(将已签名的 bar 合并为未签名的 foo)

bar/pom.xml:(创建签名栏)

如果两个模块都包含一个 hello-word 类,我希望java -jar foo/target/foo-1.0.jar能够工作并jarsigner -verify foo/target/foo-1.0.jar告诉签名类的存在。

0 投票
0 回答
884 浏览

java - 使用 Maven 阴影更改现有类

我想要做的是更改项目(项目A)中的两个现有类。这些类的类型是 .class。我想在另一个项目(项目B)中使用maven shade来指出项目A中的这些类,对它们进行一些修改,然后将它们发送回项目(项目A)。

我怎样才能做到这一点?

到目前为止,我已经创建了一个项目 (B) 并将 maven shade 插件添加到 pom 文件中,并试图指出我想要更改的类。不知道这是否是正确的方法。

这是我的 pom 文件:

关于我想做的修改:我想修改 RexsterApplicationProvider.class 类。从 AbstractSecurityFilter.class 类中复制一些东西

[更新] 我已将两个要更改的类添加到我的新项目 (B) 的 src 文件夹中。(这些类在我添加到这里之前已经被反编译了。)

我从这里去哪里?

0 投票
1 回答
3835 浏览

java - Maven Shade 插件:无法创建实例

我第一次尝试使用 Maven Shade 并被卡住了。我收到一条错误消息,上面写着:

我为 pom.xml-extension 添加了这个模板,以便在我的 pom.xml 中使用 Maven-Shade,并且刚刚输入了我的测试项目的主类。

我不熟悉 Maven,尤其是这个插件 - 有人可以帮忙吗?

0 投票
2 回答
313 浏览

maven - Maven Shade 和 Clover 不适用于 mvn 网站

我有父项目和一些子项目。有些孩子之间有依赖关系。例如:父母 -> 孩子 1,父母 -> 孩子 2,孩子 1 -> 孩子 2(孩子 1 依赖于孩子 2)这是我在 poms 中所做的事情:

子 pom 看起来像这样:

我面临 mvm site-deploy 将失败并出现以下错误的问题:

mvn site-deploy 从 foo-parent 级别运行。

我注意到即使在运行站点时 clover 也会尝试在 target/clover/ 文件夹中创建阴影 jar。

任何帮助表示赞赏。