问题是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.xml
和logback.properties
文件都位于'foo/bar
'路径下的foo.jar中。
我该怎么做才能让它找到属性文件?
旁注:这是一个Spring Boot项目,老实说我对Spring一无所知,所以我不知道这是否是造成悲伤的障碍。
我的logback.xml
文件是指logback.properties
文件
<property file="logback.properties" />
来自Logback docs(真的与Spring无关)
您还可以在类路径而不是文件上引用资源。
<configuration>
<property resource="resource1.properties" />
... snip ...
</configuration>
这将尝试在类路径的根目录中找到属性文件(即,如果您正在使用Maven,则在src / main / resources中)。 <property file="..."/>
语法是相对于应用程序的当前工作文件夹定位文件系统中的文件,因此如果放在JAR旁边,它会正确定位文件,就像您描述的那样。