当前位置: 首页 > 知识库问答 >
问题:

如何在IntelliJ Gradle JavaFx项目中包含资源?

柏麒
2023-03-14

我正在IntelliJ中使用Gradle项目结构和JavaFx Gradle插件构建一个JavaFx项目:

Gradle JavaFx插件

我想知道如何在类路径中包含资源文件。具体来说,我目前正在尝试定义一个log4j2配置JSON文件,log4j2将在运行时加载该文件。我当前在运行应用程序时收到以下消息:

错误状态记录器未找到log4j2配置文件。使用默认配置:仅将错误记录到控制台。

我现在有log4j2。json文件位于src/main/resources/log4j2中。json

我可以使用getClass()加载FXML文件。getResources()。加载(…) 来自我的应用程序类,因此“资源”目录中的文件似乎正在打包,但它们似乎无法通过log4j2用于加载配置文件的类路径访问。

知道我需要做什么才能得到log4j2吗。json和其他类似文件可用于使用Gradle插件的JavaFx项目的源代码?


共有1个答案

贺立果
2023-03-14

事实证明,问题不在于IntelliJ、Gradle或JavaFx,而在于Log4j2。显然,Jackson依赖于处理JSON文件,尽管Log4j2 Gradle文档没有提及这一点。

解决方案来自另一个StackOverflow帖子。

 类似资料:
  • 我们正在尝试使用java webstart开发一个打印应用程序。我们使用eclipse将jar创建为普通jar文件。我们的应用程序需要外部库来连接数据库、将数据转换为字节等。 我们以前可以通过将必要的JAR放入jre文件夹的/ext/目录来实现这一点。然而,这导致了与tomcat服务器的库冲突,所以我们希望避免这种方法。 我们还尝试将项目导出为可运行的jar,因为所需的库也已打包在jar中。但是当

  • 问题内容: 大家好。我正在为一个学校项目工作,在该项目中,我们获得了.class文件,但没有提供包含在我们代码中的源代码。我正在使用Eclipse,并且希望将文件包含在我的项目中,以便可以从中实例化对象并使用它。 该文件是TokenizerImpl.class,我想这样使用它: 我将文件放在项目文件夹中,Eclipse表示“ TokenizeImpl无法解析为类型”,我认为这意味着它找不到类或源。

  • 问题内容: 当我运行“清理并生成”时,仅在文件夹位于文件的同一文件夹时,才会运行正在创建的文件。 因此,如果我将jar文件移动到桌面并将该文件夹保留在该文件夹中,则jar文件将给我一个例外。 我该如何解决这个问题? 问题答案: 如果将jars复制到源代码目录中,它们将位于您的最终jar中。但是,我不确定这是否会在100%的时间内有效。 java-forum上有一篇很棒的文章,内容如下: 除了少数情

  • 问题内容: 在Express项目中包括CSS和JS文件的正确方法是什么? 我正在使用ejs模板引擎。我已经看到一个使用connect-assetmanager的示例,但是很难遵循。 一个小的示例项目在index.ejs(不是layout.ejs)中包含css和js会非常有用。 问题答案: 静态文件可以与express的静态中间件一起使用。我通常为从根目录提供所有静态文件的目录。 如果已使用npm(

  • 在尝试从本机使用gui后,日志中有以下消息:2017-03-16 15:23:25.509 MyApplication[32748:1247180]警告:试图显示其视图不在窗口层次结构中!