客户端用户无法访问项目目录中定义的配置文件

问题描述

我正在用 Java 编写 HTTP 服务器 API。我项目中的某些类使用文件 log4j2.xml 来配置日志记录。我的项目使用 Maven 快速入门原型,即文件结构如下所示:

ExampleProject
├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   │   └── org
│   │   │       └── example
│   │   │           ├── App.java
│   │   │           
│   │   └── resources
│   │       ├── log4j2.xml
│   └── test
│       └── java
│           └── org
│               └── example
│                   ├── ExampleTest.java
...

如果我在同一个目录 ExampleProject 中测试我的代码,这可以正常工作。这些类正确地找到了 resources 下的配置文件,并使用 log4j2.xml 和 using File f = new File("src/resources/log4j2.xml");

但是,当我将项目导出为 jar 并在另一台计算机上使用该 jar 时,程序会查找目录 /Users/anotheruser/TestingExampleProject/src/resources/log4j2.xml(客户端项目的目录)而不是我的项目目录实际配置文件位于 (/Users/exampleuser/ExampleProject/src/resources/log4j2.xml) 中。

Unable to access file:/Users/anotheruser/TestingExampleProject/src/main/resources/log4j2.xml java.io.FileNotFoundException

我想要做的是客户端可以使用项目目录中定义的配置文件(导出为jar)。我怎样才能实现这种行为?

感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)