问题标签 [fatjar]

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 投票
2 回答
5044 浏览

spring-boot - 无法为 gradle 项目创建 JAR 文件

我想创建一个可以在 AWS 上上传的 jar 文件,但是每次从命令提示符运行命令“gradle jar”时,都会出现以下错误。

每当我在命令提示符下运行“gradle clean”时,我都会得到“构建成功”。下面是 build.gradle 的内容:

我需要添加任何插件吗?提前致谢。请帮忙

0 投票
1 回答
854 浏览

java - Gradle:从 fat jar 中排除 compileOnly 提供的依赖项

我在compileOnly配置和其他几个库中使用了一个巨大的依赖项(Spark)。我正在尝试构建一个胖罐子,当然,没有compileOnly依赖关系。Gradle 可以很好地做到这一点,但是,几个库声明compile/runtimeOnly依赖项也是compileOnly巨大依赖项的依赖项,例如:

这会导致scala-reflect作为运行时依赖项包含在 jar 中,这是我试图避免的。Scala 在这里仅作为示例,实际上还有更多类似的(Jackson,Apache Commons 的一部分,...)。

有没有办法强制执行compileOnly训练依赖?

正如我所看到的,我可以手动将exclude这些传递依赖项重新声明为compileOnly,但这会有点混乱(我错过了什么吗?我排除了一些实际上没有提供的东西吗?)。

0 投票
4 回答
2175 浏览

kotlin - 从 kotlin 多平台项目创建 fat jar

我最近从旧的 1.2 多平台切换到 1.3。不同之处在于,每个多平台模块只有一个 build.gradle 文件(我有 5 个),因此配置要少得多。但是,我似乎无法配置创建具有来自 jvm 平台的所有依赖项的可运行胖 jar。我曾经在我的 jvm 项目和 jar 任务中使用标准的“应用程序”插件,但这不再起作用了。我发现有“jvmJar”任务并对其进行了修改(设置 Main-class),但创建的 jar 不包含依赖项并在 ClassNotFoundException 上崩溃。我该怎么做?

这就是我现在所拥有的:

0 投票
2 回答
139 浏览

java - Java maven 项目 - 从主类运行时有效,但不能从“胖”jar 运行

我正在尝试使用国际象棋 PGN 解析库来解析 PGN 文件并简单地创建一个文本文件。

  1. 库: https ://github.com/bhlangonijr/chesslib

  2. 我的 Maven 项目: https ://github.com/divukman/chess_pgn_text/tree/master/pgntotext


问题:

  1. 我可以在 IntelliJ 中运行它(只运行主类)并且它可以工作。

  2. 如果我创建一个胖 jar(mvn 包)并使用 java -jar target/pgn-to-text-1.0-SNAPSHOT.jar 运行它,我会收到以下错误:

知道为什么从 IDE 运行而不是从 jar 运行时它会起作用吗?为什么会因空指针异常而失败?好像它没有正确读取文件!?!

0 投票
2 回答
1173 浏览

java - 带有测试 Spring Boot 的 Gradle fat jar 的 NoClassDefFoundError

我需要在 Gradle 项目中创建带有测试的胖 jar,其中 Main 方法位于 src/test 下。现在, Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cli/CommandLineParser当我运行由“gradle bootJar”创建的胖罐子时,我就有了。

我的摇篮:

我的spring.xml:

例外:


以前遵循“gradle shadowJar”代码运行良好,直到我将 AspectJ 添加到项目中

运行“gradle shadowJar”时出现错误

在某个地方我发现 shadowJar 不能与 Spring 一起正常工作

如何在 src/test 下使用主类为 Spring 项目创建胖 jar?

0 投票
0 回答
171 浏览

spring - 带有 Spring 核心和 Spring jdbc 的胖 jar

我有一个使用 Spring 核心和 Spring JDBC 的 Gradle 项目,如果我运行 Gradle,它会成功运行。当我将其转换为胖罐时,该项目不会运行。

我怀疑在主程序运行之前没有加载 Spring 配置。我使用 Gradle 来构建看起来不错的胖罐子。我添加了错误和胖罐的图片。这是错误日志。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
249 浏览

spring-boot - 使用 gradle 制作 spring boot fat jar 文件而不使用 spring boot gradle 插件(无法访问 bootJar)

我有一个 spring-boot 应用程序,我在其中加载了所有必要的(或者我相信的)依赖项,以便在不使用 spring-boot 初始化程序或 spring-boot gradle 插件的情况下运行。这些工具在我的工作中不可用。我可以毫无问题地通过 intellij 运行应用程序,但是在尝试运行 fat jar 时,我遇到了

No auto configuration classes found in META-INF/spring.factories.

现在 spring.factory 文件位于 fat jar 中(它们有多个),并且它们位于 meta-inf 目录中。

Spring boot 有这么多自动化功能,我不知道从哪里开始。有很多类似的帖子,每个人都只是告诉人们使用 spring-boot gradle 插件 bootJar 任务,但正如我所说,这些对我来说不可用。我需要在没有这些工具的情况下运行它,如果有人了解问题可能是什么或如何解决它,我们将不胜感激。稍后我会尝试添加更多细节。

我正在使用 spring-boot v. 2.1.1 和 spring 5.1.4

0 投票
1 回答
218 浏览

spring - Intellij + lombok + fat jar => Lombok 安装程序

我有一个 spring boot 2 项目,使用 Intellij IDEA Ultimate 2018.3 下的 Lombok (1.18.6)。在作为应用程序运行的 IntelliJ 中一切正常。但是,当我尝试构建一个胖 jar 作为工件并在终端(OSX)中使用:java -jar my project.jar 启动它时,我得到一个 Lombok 安装程序窗口!任何的想法 ?

0 投票
1 回答
44 浏览

maven - Dropwizard,测试一个胖罐子

嘿,我真的很绝望。我想用 Dropwizard(和 Maven)构建一个胖 jar,但我意识到 shade 插件不会包含测试类,所以没有运行测试。是否有一种简单的方法可以以“全新安装”目标运行这些测试。我不敢相信 dropwizard 的入门页面会告诉你如果它有测试问题就使用这个 shade 插件。请帮我!!

0 投票
1 回答
233 浏览

scala - Maven Jar 文件找不到主类

我正在尝试使用 Intellij IDEA 用 Maven 编译我的第一个胖 jar,有一个 Scala 项目和一个 Scala 文件。项目结构如下:

项目结构; rddchallenge 是主文件

这是 pom.xml 文件:

我可以编译 fat jar,但是一旦我运行它,我就会收到以下错误:

错误:无法找到或加载主类 bigdata.rddchallenge

我尝试了无数版本的更改并尝试了阴影插件,但没有成功。有小费吗?