我正在尝试通过构建许多小型,模块化项目来构建一个大型Java项目。我希望每个小项目都是完全自包含的,持有其所有资源(如图像)。
我使用的是Eclipse。如果我配置构建路径以添加其中一个模块化项目,则资源引用将无法正常工作。系统找不到指定的文件。如果我导出一个jar并在“配置构建路径”的库选项卡中包含它,则会发生相同的事情。
我进行过一些实验,但无法想出解决办法。我尝试使用源文件夹来存放资源,并使用:
或者
我使用的是Eclipse。如果我配置构建路径以添加其中一个模块化项目,则资源引用将无法正常工作。系统找不到指定的文件。如果我导出一个jar并在“配置构建路径”的库选项卡中包含它,则会发生相同的事情。
我进行过一些实验,但无法想出解决办法。我尝试使用源文件夹来存放资源,并使用:
// this works if resource is located in package alongside class file,
// not where I want it
getClass().getResourceAsStream("resource.abc")
或者
new FileInputStream("path/to/resource.abc")
也许我对项目结构还有所不了解。在IDE中,我总是能够轻松地从单个项目中获取资源而没有任何问题。当您开始链接多个项目或将它们作为jar包包含时有什么不同之处?
我的理想结构是,在项目根目录的src文件夹同级别处,再建立一个文件夹来容纳所有资源,与源代码分开。这就是在尝试链接项目/ jar包时遇到麻烦之前的设置。
src/META-INF/...
。 - Sebastian Hoffmann