我正在从Java DAO实现中读取属性文件以加载属性对象,如下面的代码所示
this.getErrorproperties().load(
new FileInputStream(new File("").getAbsolutePath()
+ "/conf/error/error.properties"));
在测试时,它工作正常,但是当我尝试在jboss 5服务器上部署应用程序时。应用程序部署失败,因为绝对路径被视为jboss的bin目录。
我希望Jboss相对于耳文件的路径找到它。我面临的另一个问题是,相对于项目或耳文件的本地路径而言,我的路径在第一次和以后都会有所不同。
请建议程序员针对这种情况采用的当前方法。 (我比较新鲜)
最佳答案
您需要在类路径中有属性文件。如果您的属性文件位于foo.bar软件包中,则可以使用以下命令加载属性文件:
this.getErrorproperties().load(getClass().getResourceAsStream("/foo/bar/error.properties"))
路径中的前斜杠表示绝对路径。如果没有前导斜线,则该路径是相对于该类的包的。