【发布时间】:2012-05-14 23:16:21
【问题描述】:
我正在使用 log4j 进行日志记录。为了配置一切,我在 jar 文件之外创建了一个 log4j.xml。它工作得很好,但是当 jar 文件不是从 log4j.xml 所在的同一目录执行时会出现问题。
示例:jar 文件在 /opt/myapp/test.jar 中
user@host:/opt/myapp$ java -jar test.jar
效果很好,但是当我尝试这个时:
user@host:~$ java -jar /opt/myapp/test.jar
我收到一个找不到 log4j.xml 的错误。那是因为它正在我当前的工作目录中寻找它。
我还有一个在我的应用程序中使用的属性文件。该文件位于 jar 文件所在的 config/ 目录中,因此在此示例中为 /opt/myapp/config。尝试加载配置文件时会出现与上述相同的问题。
如何让 Java 从 jar 文件所在的目录加载文件(无论 jar 是从哪里执行的)?
可能很简单,但我想不通:(
【问题讨论】:
-
可以用绝对路径吗?您还在 IDE 中执行代码吗?
标签: java