问题标签 [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.
maven - Maven Assembly PlugIn with Shade 用于生产一个 Jar
我有这个问题,这是我的 POM 构建部分
我生成了 1 个包含依赖项的 JAR。但是当我生成一个带有汇编的 ZIP 文件到 zip 中时。我有 2 个 JAR(MyProject 和 POI)
这是我的装配部分:
我如何将其配置为使用 Assembly 插件生成 1 个 JAR?非常感谢。
java - Maven shade + resteasy 可以找到内容类型的作者
我有一个项目可以很好地与 Maven 托管依赖项配合使用。但我需要将我的 jar 文件作为一个文件提供。
为此,我使用 maven-shade 插件(http://maven.apache.org/plugins/maven-shade-plugin/)。所有类文件都已正确导出,但是当我尝试运行我的应用程序时出现错误:
可以找到内容类型多部分/表单数据类型的编写器:org.jboss.reasteasy.plugins.provider.multipart.MultipartFormDataOutput
任何帮助都会很棒,谢谢。
注意:我在 spring 中遇到了类似的问题,其主要原因是配置文件。许多 jar 文件包含同名的配置文件。所有配置文件都试图覆盖其他文件。将该文件与 maven-shade 配置问题合并后得到解决。
maven - Maven 阴影插件不合并文件
我的目标是将两个 Maven 模块 ( ) 中的两个 XML 文件(均名为info.xml
)合并到目标 WAR 存档中。src/main/resources
packaging:jar
proj1:包含src/main/resources/info.xml
proj2:包含src/main/resources/info.xml
web:web 项目,应该包含来自 proj1 和 proj2 的合并 info.xml。我在 web 项目中声明了插件:
要构建 Web 项目及其模块,我有一个构建项目:
我尝试在构建项目中使用mvn clean package
命令,结果我web/target/web.war
包含解压缩的库(我并不真正想要的 ueber.jar)并且没有合并的 info.xml 文件。
我究竟做错了什么?!
java - 使用 maven shade 插件,如程序集插件
我有一个 pom 文件,它构建了一个利用各种 Spring 模块的独立应用程序,特别是它使用了 integration-file 模块。最初我的 pom 文件使用了 Maven Assembly 插件,但它创建的 uber jar 没有正确运行。进一步的研究似乎表明组装插件中存在一个错误,该错误基本上会弄乱 uber jar 中的依赖项。推荐的解决方法是适用于我的 Shade 插件。
但是,程序集插件能够创建一个包含 uber jar 和其他资源(属性文件、脚本等)的 zip 文件。然后,您可以使用该 zip 将其解压缩并运行您的脚本,该脚本将调用您的 jar 并传入其他项目(例如)。据我所知,阴影插件没有执行此附加功能。
我已经尝试使用配置文件组合阴影和程序集插件,但我不知道如何让它使用阴影插件来构建 uber jar,然后使用程序集插件与其他东西一起构建 zip。
有没有人做过类似的事情?我只需要能够创建我的 uber jar,然后用脚本、xml 和其他项目压缩 uber jar。
有没有办法在不将其绑定到阶段的情况下运行程序集插件?如果有,我可以运行 package 并运行 shade 插件,然后独立运行程序集插件?如果可能的话,那将解决我的问题。
maven - 带有 maven-shade-plugin 的 Maven 项目未正确部署到 SpringSource Server
我们从几个基于 Maven 的项目中组装了一个 war 文件。其中一个项目使用 maven-shade-plugin 在其目标 jar 文件中包含其他库。为了便于讨论,我们将其称为 x.jar。
当 maven 构建 war 文件时,它包含正确的 x.jar 文件,其中包含打包的附加库。
我们使用最新版本(3.4.0)的 Spring Source 将其部署到 Spring Source 中配置的服务器上。服务器是 Sprint TC Server 2.0.3。
一旦项目被部署到服务器(即 Sprint TC Server 2.0),jar 文件(x.jar)就会以某种方式被替换为不正确的小文件,而其中没有打包的库。
这个较小的 x.jar 在部署之前不存在于文件系统中的任何地方,所以看起来像是 Spring Source 自己编译的。
结果我们无法在 Spring Source 中部署我们的系统。你们,伙计们,我们问题的原因或解决方法吗?
- - - - - - 更新 - - - - - -
我们进行了一次测试。我们在部署之前破坏了 maven pom.xml 文件,因此 Spring Source 部署了原始文件而不重新编译它。它导致了正确的部署。
该测试表明 Spring Source 在将 jar 部署到服务器时会静默地重建 jar。
有没有办法阻止它或让它正常工作?
java - 如何在多模块项目中配置 Maven 阴影插件?
我一直在尝试使用 Maven Shade Plugin 获取 jar,但我仍然没有成功。
这是我的项目结构:
模块 1(pom.xml):
模块 2(pom.xml):
主模块(pom.xml):
根据这段代码,我得到 2 个 jar 文件(Module1-version.jar 和 Module2-version.jar)。但这不是我想要的。我希望获得 1 个 jar 文件(MainModule-version.jar),其中包含另一个(Module1 和 Module2)。
为什么这个 Shade 插件不起作用?
java - 在 LibGDX 中调试基于 JNI 的 LinkageErrors
如何进一步调试与原生版本不匹配的根本原因?
我正在摆弄 LibGDX 小程序并创建一个带阴影的 uber-jar 来绕过所有的签名废话(我去掉了所有现有的证书,然后将我自己的证书签名到带阴影的 jar 上)。
当我在本地 Tomcat 实例提供的页面上加载小程序时,出现以下异常:
我认为这是因为有 Java 类需要特定版本的本机库,但发现的本机版本较旧。如何找到这些版本号的定义位置,以便尝试追踪不匹配的来源?
这是我的 Maven(是的,我知道,没有人喜欢 Maven)依赖树。我正在使用 LibGDX 1.0-SNAPSHOT,我相信它取决于 LWJGL 2.9.0。我可能遗漏了一些东西,但我看不到任何旧版本的当地人偷偷溜进来。
任何帮助将非常感激!
maven - Maven Shade 插件 + 原始字符串
我正在使用 shade 插件来创建一个包含所有依赖项的 jar。在我的 pom.xml 中应用此配置相对简单:
但是,反编译生成的代码后,我意识到我的 String 文字的内容已更改。例如,这样的字符串:
String text = "this-is-a-demo";
它已成为String text = "com.company.lib.this-is-a-demo"
. 此更改在我的应用程序中执行了运行时错误。
在这篇文章https://jira.codehaus.org/browse/MSHADE-104之后,我试图避免添加元素<rawString>true</rawString>
。但是当我再次构建项目时,在 maven-shade-plugin 中发生了 NullPointerException。
有谁知道如何避免更改字符串文字?
maven - Maven Shade Plugin SHA1 摘要错误
我有一个使用 maven shade 插件的 maven 模块,它正在构建一个 uber.jar。模块本身没有源代码,但构建了一个 jar (local.jar)。现在,当我运行 mvn install 时,构建按预期工作会生成 shaded(uber.jar) jar,但我必须排除所有传递依赖项,因此将“minimizejar”设置为 true。现在构建选择空的 local.jar 并尝试将其最小化,并在此过程中引发异常
“创建阴影 jar 时出错:version.txt 的 SHA1 摘要错误”
这是我的 pom 中的阴影插件声明
我也尝试生成一个 local.pom,但是这次阴影步骤给出了一个空指针异常,我不明白如何从阴影过程中排除 local.jar。local.jar 为空且未签名。
非常感谢这里的任何帮助。
java - Maven shade - 使用自定义配置重新打包依赖 jar
我有一个通用服务,它被打包为一个包含所有依赖项的 jar。
Consumer1、consumer2、consumer3 为 Common_service 提供了不同的配置。将 common_service 与其所有 jar 内容重新打包的最佳方法是什么,此外,将配置与它捆绑在一起。
Consumer1 上的最终输出将给出:
- Consumer1-shaded.jar(没有公共服务)
- Consumer1-Common-service.jar(只有自定义配置的通用服务)
Consumer2 会给出:
- Consumer2-shaded.jar(没有公共服务)
- Consumer2-Common-service.jar(只有自定义配置的通用服务)
试过maven shade重新打包common_service,但是需要在consumer中显式包含common service的所有依赖,为什么consumer要知道common service的内容?有没有直接的方法来获取jar,添加配置和重新打包?