如何从多个项目中访问公共资源文件
在我的一个项目中,我存储了资源(典型的maven目录结构)。这些资源正由存储在项目中的实用程序类使用。/src/test/resources
实用程序类本身正在从其他项目中使用(其他项目依赖于此项目)。我会像这样访问资源:
final InputStream inputStreamDobs =
ClassLoader.class.getResourceAsStream("/dbunit/clear_db.xml");
但是由于我从不同的项目中使用它,因此路径不正确 - 它是相对于 的,而不是效用类和资源所在的路径。current project that is being built/tested
任何想法如何接近这个?
我需要避免绝对路径 - 希望有一种方法来定义实用程序类的相对路径。
我也不想在多个项目上复制资源。干杯。
编辑:为了提供上下文,我有一个XML文件中的表的定义,需要在集成测试(清除整个数据库架构)后清除该表。集成测试位于多个项目中,但所有项目的清晰脚本和资源文件都是相同的,并且位于公共父项目中。
编辑2:
奖金问题:我想访问常见的DTD文件(我们称之为),这些文件需要从多个其他项目的XML文件访问。(它将位于共同的父项目中)。tables.dtd
目前,我在多个项目上复制了它,并且我使用指令从XML引用它:
<!DOCTYPE dataset SYSTEM "src/test/resources/dbunit/dobs.dtd">
如何将其指向不同项目中的文件?