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

问题描述 投票:1回答:1

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

我正在尝试运行一个使用Maven构建的可执行jar(我们称之为foo.jar)。尝试运行foo.jar时失败,因为它无法找到logback.properties文件。此文件确实存在于foo.jar中,并且是logback.xml文件的兄弟文件。

我试过在foo.jar中手动移动logback.properties文件无济于事。但是,我发现如果我在罐子的目录中放置了罐子外面的logback.properties文件的副本,那么它就会看到属性文件并启动。

有人可以解释如何让foo.jar查看自己的属性文件吗?

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

我该怎么做才能让它找到属性文件?

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

我的logback.xml文件是指logback.properties文件

<property file="logback.properties" />
java maven logging logback executable-jar
1个回答
1
投票

来自Logback docs(真的与Spring无关)

您还可以在类路径而不是文件上引用资源。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.