我创建了java企业应用程序,它由ejb模块和Web应用程序组成。我的ejb模块中的包“common”中的源包文件夹中有简单的旧xml文件。我想在文件()构造函数中为ejb模块中的一个类传递此文件路径。我该怎么做?
如果我通过以下任何一项,则不起作用: -
new File("abc.xml"); //this take file from glassfish/domains/domain1 :(
new File("./abc.xml");
我不想传递/ home / administrator / appname / module / etc等硬编码路径。
我想要从我的ejb模块相对路径。请帮我。我已经尝试了所有的东西。
实际上当我在同一个文件夹中创建一个类然后尝试classname.getResource("abc.xml").getPath()
时,它工作正常。但是如果我在该文件夹中没有任何课程怎么办?等待你的回复
答案 0 :(得分:3)
就像你已经猜到的那样,你应该使用this.getClass().getResource("/common/abc.xml").getFile()
- 它适用于你的应用程序的任何类,因为它使用类加载器在类路径中定位资源。如果遇到麻烦,请参阅javadocs。