jboss:通过java代码访问文件资源?

jboss:通过java代码访问文件资源?,java,file-io,jboss,properties,Java,File Io,Jboss,Properties,我正在从java DAO实现中读取属性文件,以加载属性对象,如下面给出的代码所示 this.getErrorproperties().load( new FileInputStream(new File("").getAbsolutePath() + "/conf/error/error.properties")); 虽然测试工作正常,但当我尝试在JBoss5服务器上部署应用程序时。应用程序部署失败,因为绝

我正在从java DAO实现中读取属性文件,以加载属性对象,如下面给出的代码所示

    this.getErrorproperties().load(
                new FileInputStream(new File("").getAbsolutePath()
                        + "/conf/error/error.properties"));
虽然测试工作正常,但当我尝试在JBoss5服务器上部署应用程序时。应用程序部署失败,因为绝对路径被认为是jboss的bin目录

我希望Jboss找到它相对于ear文件的路径。我面临的另一个问题是,相对于项目或ear文件的主路径,我的路径在第一次和以后将不同


请建议程序员在这种情况下采用的当前方法。(我是新生)

您需要将属性文件放在类路径中。如果包foo.bar中有属性文件,则可以使用

this.getErrorproperties().load(getClass().getResourceAsStream("/foo/bar/error.properties"))

路径中的前斜杠表示绝对路径。如果没有前导斜杠,则路径与中类的包相对。

请确保该文件在WEB-INF\classes\yourPackage\error.property中可用。目前,我正在使用JUnit测试用例对其进行测试。它的位置为MyProject/conf/dao/error.properties我已将类路径指定为MyProject/conf,因此我在检索时将文件路径指定为dao/error.properties,但返回null