我可以在本地读取文件。结构:
somePackage
-- A.class
-- someFile.properties
本地工作的代码,如下所示:
InputStream stream = A.class.getResourceAsStream("someFile.properties");
-- then I pass the stream and continue my work
或者像这样:
String filePath = A.class.getResource("someFile.properties").getPath();
-- then I pass the path, open the file and continue my work
当部署到Heroku时,我得到空指针或文件未找到异常。
那么为什么这些都不适用于Heroku的 容器 ?
注意:我的" A" class就像类一样实用,所以我永远不会实例化#34; A"对象。
已解决:我将someFile.properties移动到src / main / resources(打包到.war时,someFile.properties在WEB-INF / classes中)并使用此代码获取路径, 注意领先" /"
String path = "/" + A.class.getProtectionDomain().getCodeSource().getLocation().getPath() + "someFile.properties";
我认为有更好的方法来获取"类的目录"但这种方式恰好满足了我的需求。