Java 如何从绝对路径加载资源?

Java 如何从绝对路径加载资源?,java,tomcat,ff4j,Java,Tomcat,Ff4j,我是这样使用ff4j的: FF4J ff4j = new FF4J("config.xml"); 在内部,FF4J调用getClass().getClassLoader().getResourceAsStream(“config.xml”) 我希望能够在部署时选择config.xml位置(例如,对于linux,/etc) 我如何实现这一点,而不必硬编码绝对路径?例如,是否可以将JVM/tomcat设置为在/etc中查找文件?或者也许有另一种方法可以实现我想要的FF4J?作为FF4J的创建者,我

我是这样使用ff4j的:

FF4J ff4j = new FF4J("config.xml");
在内部,FF4J调用
getClass().getClassLoader().getResourceAsStream(“config.xml”)

我希望能够在部署时选择config.xml位置(例如,对于linux,
/etc


我如何实现这一点,而不必硬编码绝对路径?例如,是否可以将JVM/tomcat设置为在
/etc
中查找文件?或者也许有另一种方法可以实现我想要的FF4J?

作为FF4J的创建者,我会添加一些解决方案

1.8.9之前

File configFile = new File("/tmp/ff4j.xml");
FileInputStream fis = new FileInputStream(configFile);
FF4j ff4j = new FF4j(fis);
 File configFile = new File("/tmp/ff4j.xml");
 FileInputStream fis = new FileInputStream(configFile);
 FF4j ff4j= new FF4j(new XmlParser(), fis);
1.8.9以来

File configFile = new File("/tmp/ff4j.xml");
FileInputStream fis = new FileInputStream(configFile);
FF4j ff4j = new FF4j(fis);
 File configFile = new File("/tmp/ff4j.xml");
 FileInputStream fis = new FileInputStream(configFile);
 FF4j ff4j= new FF4j(new XmlParser(), fis);

因此,您现在还可以导入
Yaml
properties
文件。(考虑一下K8s世界中的configMap)。更多样本

将其设置为环境变量完美的意义,我不知道为什么我没有想到这一点。这是解决我的问题的方法。那么,出于好奇,是否可以将JVM/tomcat设置为在特定文件夹中查找资源?我不知道,但如果有人知道,我自己也会好奇。通过getResource获取的资源不能来自如图所示的文件系统路径。每个platformCheck和