gpt4 book ai didi

java - log4j 喜欢 jar 文件中的属性吗?

转载 作者:行者123 更新时间:2023-12-01 12:29:26 25 4
gpt4 key购买 nike

我有一个 Java 应用程序,我直接从可执行 jar 文件在 Linux 上执行该应用程序

java -cp .:./lib -Duser.timezone=GMT -Dlog4j.debug -jar programName.jar

该程序使用了许多其他 jar 文件(均位于一个目录中)和 4 个属性文件(均位于另一目录(当前目录)中)。这两个目录都包含在 CLASSPATH 中。

很简单吧。

确实如此,只是 Log4j 无法找到 log4j.properties。我设法让它找到 log4j.properties 的唯一方法是将其包含在 programName.jar

这不是我想要的,我想使用 log4j.properties 使其与所有其他属性文件位于同一目录中,它们位于 CLASSPATH 中并按您的预期找到。

正在使用的其他 jar 文件是:

  • jdom-2.0.5.jar
  • log4j-1.2.17.jar
  • ojdbc7.jar
  • quartz-2.2.1.jar
  • slf4j-api-1.7.7.jar
  • slf4j-log4j12-1.7.7.jar

我想知道 slf4j-log4j12-1.7.7.jar 是否进行了一些配置,以防止 log4j 在查找属性文件时扫描 CLASSPATH 。我的代码不包含任何旨在指定属性文件位置的指令。

我还没有尝试在没有 -jar 选项的情况下执行程序,接下来我会尝试一下。

到目前为止,这是否敲响了警钟?

最佳答案

向 jvm 添加参数 (log4j.configuration)。例如:

java -cp .:./lib -Dlog4j.configuration=file:log4j.properties -Duser.timezone=GMT ...

您可能想查看此answer以获得更多选择。

关于java - log4j 喜欢 jar 文件中的属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26061862/

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