问题标签 [gradle-shadow-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.
gradle - Spring-boot Gradle shadow jar plugin | missing EmbeddedServletContainerFactory
I setup up a simple web project in spring boot with only the compile("org.springframework.boot:spring-boot-starter-web")
dependency . When I used gradlew bootRun
, the application starts up and I am able to get the webpage. If a fat jar is created either manually or through shadow plugin, the jar file refuses to start citing EmbeddedServletContainerFactory
missing. Am I missing some other dependencies. The jar task is modified as
jar - 如何在 Gradle 构建期间在 ShadowJar 中包含 Zip 文件
我提供的内容低于我目前所拥有的。
在下面的示例中,Jar 任务生成一个 Jar,其中包含一个 Zip 文件(来自另一个项目的工件)。
但是,我的最终目标是制作一个可以自我包含其依赖项的 uber jar。我是通过 Shadow 插件来的,这似乎是一个干净的解决方案。
我试图告诉我的 ShadowJar 任务包含 Zip 文件 - 但它不起作用。请参阅已注释掉的 ShadowJar 部分。
所以,我现在要做的是创建 shadow jar,然后生成另一个 jar,其中包含 shadow jar 和 zip 的内容。我可以看到这条路径充满了陷阱(我不得不再次执行 Manifest)......
理想情况下,我认为有一种方法可以在 Shadow Jar 中包含来自不同配置的工件,而我对 Gradle 知识的限制在这里失败了。
gradle - 使用 Gradle Shadow 插件时如何仅包含项目和重定位类?
我有以下内容:
它会生成包含所有模块依赖项的“-all.jar”文件。
和:
两者都产生绝对没有类的“-all.jar”文件。
如何创建仅包含项目类和重定位类的“-all.jar”文件?
java - 如何更改生成的工件的依赖关系?
梯度 2.3;影子插件 1.2.1。
在我的 build.gradle 中,我使用 shadow 插件来重新打包依赖项,如下所示:
我还将影子 jar 添加到要发布的工件列表中:
然而,影子 jar 的依赖项列表仍然包含“普通”jar 的所有依赖项,即使它具有内置的每个依赖项。
这是预期的行为吗?如何让影子 jar 排除这个或那个依赖项?
java - 如何让 gradle 的构建任务生成影子 jar _而不是_“常规”jar?
(这是使用 gradle 2.4)
对于我的一个项目,分为几个子模块,我使用了shadow 插件,它非常适合我的需求;它有一个 main,并且根据插件自述文件的建议,我将应用程序插件与它结合使用,以便在清单中生成 Main-Class,一切正常。
现在,这是一个 SonarQube 插件项目,我还使用(成功!)gradle sonar packagin plugin。这个插件的作用是,当你./gradlew build
生成声纳插件而不是“常规”jar时。
我希望在这里为我的子项目做同样的事情,除了我希望它只生成影子 jar 插件而不是“常规”插件......现在我使用这个简单的文件生成两者:
如何修改此文件以便只生成影子 jar 而不是常规 jar?
gradle - Gradle ShadowJar 与其他 SourceSet 资源
我正在使用 ShadowJar Gradle 插件构建一个 Jar,其中包含目录中的所有源文件和 src/main/java
目录中的其他 Jar 文件,lib
它工作正常。我需要的是另一个 ShadowJar 任务,一个devShadowJar
任务,src/main/resources
它不会拉入文件夹中的 JSON 文件,而是拉入文件夹中的 JSON 文件src/dev/resources
。
我将此添加到build.gradle
文件中以定义dev
源集:
但是现在我不确定如何创建一个devShadowJar
任务来使用dev
JSON 资源而不是位于src/main/resources
.
java - Shadow Plugin Gradle:mergeServiceFiles() 有什么作用?
在我的 build.gradle 文件中,我需要添加以下行:
否则 jar 无法正常运行。我想知道这条线到底是做什么的?我在 Eclipse Luna 中使用 Gradle 插件。我在一个依赖于另一个 Java 项目的 Java 项目上创建了 jar。
java - 处理阴影(uber/fat)jar 文件中的重复条目
我创建了一个 jar 文件,由多个 jar 创建(在这种情况下我使用了Gradle Shadow插件)。
原来,该文件包含重复的文件/META-INF
。其中大部分是license.txt
原始jar文件的多个,但其中一些是我感兴趣的Spring工厂。
在 Maven 或 Gradle 中使用各种类似 fatjar 的工具时,这种行为似乎很常见,而且看起来并没有以任何方式禁止。
我已经检查过是否java.lang.ClassLoader#getResources
会将这些条目作为相同 URL 的列表返回,例如:
jar:file:/C:/temp/myJar.jar!/META-INF/spring.factories
jar:file:/C:/temp/myJar.jar!/META-INF/spring.factories
因此,一旦我获得 URL,就无法以编程方式获取所有重复文件的内容。
Java可以以某种方式处理这样的重复文件吗?
或者,也许更一般地说,从规范的角度来看,有一个里面有重复文件的 jar 是一种有效且受支持的情况吗?我检查了Jar 文件规范,它也没有给我任何线索。
java - Gradle shadow 插件失败:解析插件时出错
我正在将 JAVA maven 项目迁移到 gradle。我在 maven 中添加了一个 Shade 插件,但是当我试图在 gradle 中复制它时,它目前失败了。它在清理时失败,即当我发出以下命令时,
请在下面找到 pom.xml 文件和相应的 build.gradle 文件。
pom.xml
构建.gradle
当我进行清洁时,我遇到了以下异常,
请让我知道是否需要在build.gradle文件中更改某些内容以复制阴影插件。