问题标签 [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.

0 投票
1 回答
2229 浏览

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

0 投票
0 回答
1818 浏览

jar - 如何在 Gradle 构建期间在 ShadowJar 中包含 Zip 文件

我提供的内容低于我目前所拥有的。

在下面的示例中,Jar 任务生成一个 Jar,其中包含一个 Zip 文件(来自另一个项目的工件)。

但是,我的最终目标是制作一个可以自我包含其依赖项的 uber jar。我是通过 Shadow 插件来的,这似乎是一个干净的解决方案。

我试图告诉我的 ShadowJar 任务包含 Zip 文件 - 但它不起作用。请参阅已注释掉的 ShadowJar 部分。

所以,我现在要做的是创建 shadow jar,然后生成另一个 jar,其中包含 shadow jar 和 zip 的内容。我可以看到这条路径充满了陷阱(我不得不再次执行 Manifest)......

理想情况下,我认为有一种方法可以在 Shadow Jar 中包含来自不同配置的工件,而我对 Gradle 知识的限制在这里失败了。

0 投票
1 回答
2366 浏览

gradle - 使用 Gradle Shadow 插件时如何仅包含项目和重定位类?

我有以下内容:

它会生成包含所有模块依赖项的“-all.jar”文件。

和:

两者都产生绝对没有类的“-all.jar”文件。

如何创建仅包含项目类和重定位类的“-all.jar”文件?

0 投票
1 回答
415 浏览

java - 如何更改生成的工件的依赖关系?

梯度 2.3;影子插件 1.2.1。

在我的 build.gradle 中,我使用 shadow 插件来重新打包依赖项,如下所示:

我还将影子 jar 添加到要发布的工件列表中:

然而,影子 jar 的依赖项列表仍然包含“普通”jar 的所有依赖项,即使它具有内置的每个依赖项。

这是预期的行为吗?如何让影子 jar 排除这个或那个依赖项?

0 投票
1 回答
15289 浏览

java - 如何让 gradle 的构建任务生成影子 jar _而不是_“常规”jar?

(这是使用 gradle 2.4)

对于我的一个项目,分为几个子模块,我使用了shadow 插件,它非常适合我的需求;它有一个 main,并且根据插件自述文件的建议,我将应用程序插件与它结合使用,以便在清单中生成 Main-Class,一切正常。

现在,这是一个 SonarQube 插件项目,我还使用(成功!)gradle sonar packagin plugin。这个插件的作用是,当你./gradlew build生成声纳插件而不是“常规”jar时。

我希望在这里为我的子项目做同样的事情,除了我希望它只生成影子 jar 插件而不是“常规”插件......现在我使用这个简单的文件生成两者:

如何修改此文件以便只生成影子 jar 而不是常规 jar?

0 投票
1 回答
3770 浏览

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任务来使用devJSON 资源而不是位于src/main/resources.

0 投票
2 回答
9897 浏览

java - Shadow Plugin Gradle:mergeServiceFiles() 有什么作用?

在我的 build.gradle 文件中,我需要添加以下行:

否则 jar 无法正常运行。我想知道这条线到底是做什么的?我在 Eclipse Luna 中使用 Gradle 插件。我在一个依赖于另一个 Java 项目的 Java 项目上创建了 jar。

0 投票
1 回答
1357 浏览

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 文件规范,它也没有给我任何线索。

0 投票
1 回答
401 浏览

gradle - 如何离线使用 gradle shdow 插件?

我想用 gradle 编译一个 vertx 项目。我想将它编译成一个独立的 jar,我读到这可以通过 gradle 的 shadow 插件来完成。

现在,我需要能够在离线环境中执行此操作。我下载了插件的源代码并将其编译成一个jar。现在,我想在我的项目的 build.gradle 中应用该 jar 中的插件。我不知道该怎么做。

我知道这些 答案,但两者似乎都不起作用。

目前,我有:

当我运行“gradle build”时,出现“找不到方法 shadowJar()”错误。

0 投票
2 回答
3059 浏览

java - Gradle shadow 插件失败:解析插件时出错

我正在将 JAVA maven 项目迁移到 gradle。我在 maven 中添加了一个 Shade 插件,但是当我试图在 gradle 中复制它时,它目前失败了。它在清理时失败,即当我发出以下命令时,

请在下面找到 pom.xml 文件和相应的 build.gradle 文件。

pom.xml

构建.gradle

当我进行清洁时,我遇到了以下异常,

请让我知道是否需要在build.gradle文件中更改某些内容以复制阴影插件。