gpt4 book ai didi

Java可执行jar logback-spring.xml没有看到logback.properties文件

转载 作者:行者123 更新时间:2023-11-30 06:22:02 25 4
gpt4 key购买 nike

问题是 logback.xml 文件看不到 logback.properties 文件。

我正在尝试运行一个使用 Maven 构建的可执行 jar(我们将其称为 foo.jar)。当尝试运行 foo.jar 时,它会失败,因为它找不到 logback.properties 文件。该文件确实存在于 foo.jar 中,并且是 logback.xml 文件的同级文件。

我尝试在 foo.jar 中手动移动 logback.properties 文件,但没有成功。但是,我发现如果我将 logback.properties 文件的副本放在 jar 之外的 jar 所在目录中,那么它就会看到属性文件并启动。

有人可以解释如何让 foo.jar 在其内部查找属性文件吗?

示例:假设我有 logback.xmllogback.properties 文件,均位于 'foo/bar 路径下的 foo.jar 中'.

我必须做什么才能让它找到属性文件?

旁注:这是一个 Spring Boot 项目,老实说我对 Spring 一无所知,所以我不知道这是否是造成悲伤的障碍。

我的 logback.xml 文件通过以下方式引用 logback.properties 文件

<property file="logback.properties" />

最佳答案

来自Logback docs (实际上与Spring无关)

You may also reference a resource on the class path instead of a file.

<configuration>
<property resource="resource1.properties" />
... snip ...
</configuration>

这将尝试在类路径的根目录中找到属性文件(如果您使用的是 Maven,则在 src/main/resources 中)。 <property file="..."/>语法是在文件系统中相对于应用程序的当前工作文件夹定位文件,因此如果将文件放置在 JAR 旁边,它会正确定位文件,就像您所描述的那样。

关于Java可执行jar logback-spring.xml没有看到logback.properties文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47928043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com