我正在使用标准Maven目录结构设置项目,因此我有一个名为“resources”的文件夹,在此文件夹中我创建了一个名为“fonts”的文件夹,然后在其中放入一个文件。我需要在第三方库中传递完整的String
文件路径(位于我的项目结构中的文件,位于resources/fonts/somefont.ttf
)到我正在使用的对象,如下所示,我已经搜索了一段时间但是对于这样做的正确方法已经变得有点困惑。我试过如下,但无法找到它。我看着使用ResourceBundle
,但似乎涉及制作一个实际的File
对象,当我只需要路径传递到像下面的方法(不要在我面前实际的方法调用,所以只是从我的例子内存):Java(maven web应用程序),获取资源文件夹中文件的完整文件路径?
FontFactory.somemethod("resources/fonts/somefont.ttf");
我原以为有办法,用标准的Maven目录结构的项目来从资源文件夹中的文件,而无需使用完整的相对路径从类/包。任何意见,这是非常感谢。
我不想使用硬编码的路径,因为在项目上工作的不同开发人员有不同的设置,我想将它作为项目的一部分包含进来,以便他们在检出项目源时直接获取它。
这是一个Web应用程序(的Struts 1.3的应用程序),当我看着分解WAR文件(我通过Tomcat上运行的项目关闭的),该文件是:
<Exploded war dir>/resources/fonts/somefont.ttf
从ResourceBundle获取File对象,然后使用File.getAbsolutePath()传递给FontFactory.somemethod()会出现什么问题? (请记住,如果在部署时未扩展WAR,则无法保证获得File对象。) – BobG
可能没有什么是错的:)谢谢,我不是那么熟悉'ResourceBundle',所以没有意识到这将工作,谢谢你的提示 – Rick
其实让我发布一些我已经用过的伪代码以下成功 - 不确定在ResourceBundle上,但资源(在春季以外)工作: – BobG