我有一个使用Jboss作为应用程序服务器的Java EE应用程序。我在以下目录下有一些xml文件。
/ SRC /主/资源/ COM /映射/
当我通过Junit Test访问项目时,我可以使用
读取xml文件 in = new FileInputStream("src/main/resources/com/mapping/file.xml");
当我将项目作为部署添加到Jboss时,我的资源将在“com / mapping”下的Project.jar中导出。
现在我正在尝试通过以下方法读取xml文件
in = new FileInputStream("com/mapping/file.xml");
但是我收到了FileNotFoundException。如何在JBoss部署jar中读取资源。?
答案 0 :(得分:0)
当您运行单元测试时以及从jar运行时,您的根目录会有所不同。此外,无法使用FileInputStream读取JAR文件中包含的资源。
尝试使用:
InputStream inputStream = getClass().getClassLoader().getResourceAsStream("com/mapping/file.xml");
这两种情况都适用。