问题标签 [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 投票
6 回答
28387 浏览

java - Maven shade插件将dependency-reduced-pom.xml添加到基本目录

maven shade 插件正在创建一个名为dependency-reduced-pom.xmlartifactname-shaded.jar 的文件,并将它们放在基本目录中。

这是一个错误吗?应该在目标目录中。任何解决方法?

0 投票
5 回答
51462 浏览

java - 运行可执行 jar 时的 Spring Circular 占位符引用

我在尝试运行可执行 jar 文件时遇到“循环占位符引用”异常。这是详细的例外情况。

这是一个 spring 应用程序,它使用外部属性文件在启动时读取值。这是弹簧的定义。到目前为止,这一直运作良好。

我正在使用 shade 插件来生成 jar 文件。这是一个片段

p>

我不确定是什么导致了这个问题,因为我之前在其他可执行 jar 文件中使用过类似的模式。

任何指针将不胜感激。

谢谢

0 投票
2 回答
1284 浏览

maven - 用 cxf jars 打包骆驼项目

我刚开始研究 Camel,并从一些开箱即用的示例开始。使用 mvn 时效果很好camel:run。我也在尝试将其打包为一个 uber jar 并能够从命令行执行它。

我正在使用 Maven shade 插件来构建 jar。当我尝试执行它时,我收到此错误:

我有这些依赖项以及其他一些依赖项:

以下是在 maven shade 插件中定义转换器的方式:

我不知道我错过了什么。有人可以帮我解决这个问题吗?请让我知道任何替代方法。

0 投票
2 回答
21656 浏览

maven - Maven 阴影插件警告:我们有重复 - 如何修复?

这是我的项目POM(链接到粘贴,所以你可以右键单击>另存为pom.xml)

我按照FAQ中的建议配置默认 jar 插件,但是当我运行mvn package大约 20K 时仍然会发出警告。跑步mvn clean也无济于事。

根据这个答案,我可以手动排除一些依赖项。但是,我不知道这是否正确,并且依赖关系树相当复杂,因此很难争论从哪里开始。

我知道这些问题无害,但我习惯于将警告视为必须解决的问题。此外,我是Maven的初学者,所以我想了解我的理解有什么问题,以及如何解决问题。

(这里不能使用 maven 程序集插件)

0 投票
1 回答
3267 浏览

java - Maven 阴影无法找到 XML 模式命名空间的 Spring NamespaceHandler

我有一个小的 Spring 项目,我已经用 roo 1.2.2 启动了

我可以在 Eclipse Juno 中很好地运行主类。但是,当我尝试运行使用 构建的 JAR 文件时mvn package,出现以下错误:

我正在使用 Maven shade 插件来构建 uber JAR,配置如下:

在我拥有的 pom.xml 属性中<spring.version>3.1.2.RELEASE</spring.version>,其中一个依赖项是:

应用程序上下文标头如下:

在我的主程序中,我有:

当我打字时,mvn package我得到

任何人都可以建议我缺少什么以及如何修复我的构建以便我可以运行我的 JAR?

0 投票
0 回答
387 浏览

maven - Maven 包的版本与依赖项不同:树显示

我有一个类似这样的依赖结构:

也就是我的项目依赖A,它依赖于Guava 13.0和BoneCP(依赖于Guava r06)。

当我跑步时,mvn clean dependency:tree | grep guava我看到:

据我了解,Maven 的依赖解决方案是应该发生的。

但是,当我运行mvn clean package并解压生成的 jar 时,似乎 Guava r06 已包含在内。在 A 中,我依赖的是 Guava 13.0 中的功能,但不是 r06,所以我遇到了运行时故障(java.lang.NoClassDefFoundError: com/google/common/collect/Table)。

我正在使用 shade 插件(1.4)来创建包含所有依赖项的 jar。这是mvn --version(在我们的构建服务器上,我遇到了这个问题)的结果:

在另一台机器(我的本地工作站)上,打包的 jar 包含我预期的 Guava 13.0。该机器上的版本信息是:

从 Maven 2.2.1 到 3.0.4 的变化是否改变了依赖解析策略?这里发生了什么?

0 投票
1 回答
741 浏览

java - 如何在没有 Shade 插件的情况下编译 DropWizard?

我试图让我的 DropWizard 项目工作,但我无法编译它而不会出现一百万个重复的依赖错误。错误是由 Shade 插件和我的 com.thinkaurelius.titan 插件引起的。使用 Shade 时 Titan 拒绝在没有重复错误的情况下编译,所以我想摆脱 shade。

当我尝试在没有 Shade 的情况下编译我的项目时,java 无法使用我的 main 方法找到该类。

有任何想法吗?:)

谢谢。

0 投票
2 回答
10444 浏览

java - 从 JAR 中运行 *.exe 文件

我有一个巨大的 JAR 文件,它是用Maven Shade插件创建的。

我用 运行它java -jar foo.jar,然后我的 UI 打开。现在我想执行*.exe文件,它也在那个 JAR 文件中,我该怎么做?

我尝试将 exe 放入我的类路径并从那里运行它,但在尝试后我发现类路径实际上是我的 JAR 所在的位置。

有什么建议么?

在这里找到了这个东西,但这真的是最好的解决方案吗?看起来工作量很大,我想我在这里有不同的情况,因为我可以自己定义 exe 的位置,而 JAR 是由我创建的。

运行打包在jar中的exe

为什么我需要这个?

我想给用户一个可以运行的单个文件可执行文件,但我的程序正在使用 *.exe。我应该把 exe 放在我的 jar 旁边,会有 2 个文件还是有我的要求的解决方案?

0 投票
2 回答
966 浏览

java - Spring,Hibernate 检查我的 Maven Shade JAR 中的每个 jar

当从 运行我的 jar 时,获得了数以千计的这些行,java -jar foo.jar因此应用程序至少需要 1 分钟才能启动。

我正在使用 Maven Shade 创建我的 JAR:

Spring 和 Hibernate 配置:

如何过滤它以不搜索 POM 下载的所有 JAR?

编辑:

完整的 Spring 配置:

完全坚持:

0 投票
2 回答
25117 浏览

java - 由 Maven shade 插件构建的无效或损坏的 JAR 文件

将 Maven jFree 依赖项添加到我现有的应用程序后,我无法执行创建的 jar。

我得到的唯一错误消息如下:

完整的pom.xml样子是这样的:

如果我执行 jar,我不会得到任何其他调试信息。

是否有任何选项来验证 jarfile?或者有类似java -verbose...的东西?

重现步骤:

  1. 新建一个文件夹
  2. 将上面的 Pom.xml 复制到文件夹中。
  3. 保存小 `public static void main(...)。进入 src/main/java/com/mycompany/test/Start.java
  4. 执行mvn clean package
  5. 执行java -jar target/com.mycompany.test-1.0.0-SNAPSHOT.jar

附件一:

编辑1:

我开始删除一些依赖项以识别问题。但是我还没有清楚地了解出了什么问题。

现在我发现(参见 pom.xml 中的提示 B)将 Apache POI 依赖项移到顶部将解决问题。但我仍然不知道为什么以及是什么问题。