问题标签 [shadowjar]

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 回答
2587 浏览

gradle - 在 Kotlin 脚本中“包含”不起作用:^ 意外标记(使用 ';' 分隔同一行上的表达式)

在我的build.gradle.kts 中

但我得到错误:

0 投票
1 回答
15480 浏览

java - 如何使用 gradle 任务运行 shadow jar?

我想在使用 shadow jar 插件构建后运行我的应用程序。

构建.gradle:

我还有一个全局 init.gradle:

所以现在可以使用 shadowJar 任务将胖 jar 构建到我的全局构建目录中。但我希望能够在 IntelliJ 中仅使用一种运行配置来运行和构建它。我怎么做?

也许还有另一种方法可以让 gradle 将我的所有输出重定向到全局构建目录。我不想手动为每个 IntelliJ 项目配置相同的输出路径。欢迎提出建议。

谢谢 :)

0 投票
1 回答
2197 浏览

gradle - 如何在 gradle 5+ 中为 shadowJar 插件指定归档分类器

从版本 5 开始gradle 更改存档任务行为

这打破了shadowJar不再创建<name>-<version>-all.jar工件的任务默认行为。

如何恢复这种行为并创建*-all.jar

0 投票
0 回答
411 浏览

java - 为什么jar找不到apache poi的org.xml.sax.driver?

我已经用下面的 build.gradle 构建了一个 jar。

从 IDE 运行正常(IntelliJ)。使用命令 shadowJar 生成 jar 后,它显示此错误:

任何帮助将不胜感激。谢谢。

0 投票
1 回答
918 浏览

gradle - Beam 管道在直接运行器上运行正常时未在 Google Dataflow 中移动

我有一个使用 DirectRunner 在本地运行良好的 Beam 管道。但是,当切换到 DataFlowRunner 时,作业开始了,我可以从 Google 数据流 web ui 中看到流程图。但是,作业不会运行。它一直挂在那里,直到我停止工作。我正在使用 Beam 2.10。我可以在日志中看到自动缩放调整cpu,没有异常。

我认为这与我创建 Jar 文件的方式有关。我正在使用 shadow Jar 在 gradle build 中创建 jar 文件。使用 ShadowJar 的主要原因是用于 mergeServiceFiles()。如果不使用 mergeServiceFiles(),则作业将运行异常,例如No FileSystem found for gs

所以我从谷歌数据流模板回购中复制了字数并将其打包为 jar 文件。它显示了同样的事情,工作开始但没有移动。该代码已对服务帐户凭据进行了最小更改。我扩展了凭证的 GcsOptions,而不是原来的 PipelineOptions。

尝试过梁 2.12、2.10。

0 投票
2 回答
383 浏览

gradle - 我应该在编写 Gradle 插件时影响 Kotlin

我正在编写一个插件来从现有的 Gradle 构建脚本中提取一些样板。现有的构建脚本主要用 Groovy 编写并编译 Java。

为了构建我的插件,我使用了 Gradle Kotlin DSL,我想我也会借此机会在 Kotlin 中编写插件。这一切都有效,但现在我的插件对 Kotlin 有很大的依赖 - Gradle 文档特别建议最小化外部库

Java 和 Groovy 插件避免了这种情况,因为 Java 和 Groovy 是与 Gradle 共享的依赖项,但 Kotlin 不是共享的先决条件,因此我们必须担心不同插件所需的潜在冲突 Kotlin 版本。

我认为我应该采用以下方法之一,但不清楚哪种方法:

  1. 只需将 Kotlinstdlib列为标准依赖项并信任 Gradle 即可解决问题。

    这适用于一个插件,但是当另一个插件也被使用但取决于不同的 Kotlin 时,我是否应该预料到会出现问题?

  2. 为我的插件构建某种 uber shadowJar 阴影 Kotlin 库

    暗示我这样写的每个插件都会比必要的大 10 MB。

  3. 放弃基于 Kotlin 的插件并用 Java/Groovy 重写

    放弃新的善良将是一种耻辱,但可能更好地避免上述罪恶。

欢迎推荐!

0 投票
1 回答
310 浏览

gradle - Gradle 与 Apache Jena 3.11.0

我正在尝试使用 gradle 构建系统和其他 java 代码创建一个 shadowjar,包括最新的 Apache Jena 3.11 来创建一个“uber”包。为此,我在这里找到了信息:https : //jena.apache.org/documentation/notes/jena-repack.html 但是我很难将其转换为 gradle 设置。

有谁知道如何实现这一目标?

0 投票
0 回答
291 浏览

gradle - 调试时如何让 IntelliJ 识别 Gradle 的插件 ShadowJar 中的“排除”文件?

我想调试我的 Java 应用程序,它由 Gradle 管理并由 Gradle 的插件 shadowJar 打包。我在 shadowJar 任务中排除了一些文件build.gradle,但是,当我在 IntelliJ 中运行调试时,这些文件不会被排除。那么有什么办法可以告诉 IntelliJ 在调试的时候排除这些文件呢?我确定我的代码build.gradle是正确的,因为我可以使用命令行来构建正确的 jar 包。

0 投票
1 回答
2211 浏览

java - ShadowJar:如何包含特定目录?

我正在使用org.jdesktop.appframework. 然而,使用 ShadowJar 的胖 jar 正在生成我不想要的文件。如何删除除我的项目类和 jdesktop 依赖项之外的所有文件?

使用以下任务修改不包括org.jdesktop.appframework 以某种方式:

结果:

预期的:

0 投票
1 回答
173 浏览

vert.x - 如何让 HOCON 配置文件格式在部署为 fat jar 的 Vert.x 中工作?

我想在部署为 fat jar 的 Vert.x 应用程序中使用HOCON格式进行配置。我面临着与这个类似问题中描述的相同的问题

但是我应用了gradle插件“io.vertx.vertx-plugin”(v1.0.1)并成功地将线路io.vertx.config.hocon.HoconProcessor放入 META-INF/services/io.vertx.config.spi.ConfigProcessorjar中。

我仍然得到例外。在 jar 中正确捆绑 HoconProcessor 类还需要什么?