问题是logback.xml
文件没有看到logback.properties
文件。
我正在尝试运行一个使用Maven构建的可执行jar(我们称之为foo.jar
)。尝试运行foo.jar时失败,因为它无法找到logback.properties
文件。此文件确实存在于foo.jar
中,并且是logback.xml
文件的兄弟文件。
我尝试在foo.jar中手动移动logback.properties
文件无效。但是,我发现如果我将jar的logback.properties
文件的副本放在jar的目录中,那么它就会看到属性文件并启动。
有人可以解释如何让foo.jar查看属性文件吗?
示例:假设我的logback.xml
和logback.properties
文件位于foo.jar中,位于&{39; foo/bar
'。
如何让它找到属性文件?
旁注:这是一个Spring Boot项目,老实说我对Spring一无所知,所以我不知道这是否是导致悲痛的障碍。
我的logback.xml
文件通过
logback.properties
文件
<property file="logback.properties" />
答案 0 :(得分:1)
来自Logback docs(与Spring无关)
您也可以在类路径而不是文件上引用资源。
<configuration>
<property resource="resource1.properties" />
... snip ...
</configuration>
这将尝试在类路径的根目录中找到属性文件(即,如果您正在使用Maven,则在src / main / resources中)。 <property file="..."/>
语法是相对于应用程序的当前工作文件夹查找文件系统中的文件,因此如果放在JAR旁边,它就会正确定位文件,就像您描述的那样。