使用war模块中jar内的资源

时间:2014-06-11 06:12:04

标签: java jar

我有一个jar文件说toolkit.jar,它包含com.project.resources下的资源文件。当我独立测试时,我可以使用Class.getResource读取这些资源。但是当我在war模块(web服务)中使用jar文件时,getResource总是返回null。如何访问这些资源文件?

com/project/resources/ contains arial.ttf
com/project/toolkit/ contains ToolKit.java

渲染器是ITextRenderer对象。

renderer.getFontResolver().addFont(this.getClass().getResource("../resources/arial.ttf").
    toString(), BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

此toolkit.jar正在Web服务中使用。

1 个答案:

答案 0 :(得分:-1)

使用getResourceAsStream()而不是getResource

InputStream in =
new InputStreamReader(FileLoader.class.getClassLoader().getResourceAsStream("file.txt") );

如果它不起作用

从webapp查看配置文件的最佳方法是实现servlet方法init()。 让我们'尝试使用相同的代码

InputStream in =
new InputStreamReader(FileLoaderServlet.class.getClassLoader().getResourceAsStream("file.txt") );

参考 https://haveacafe.wordpress.com/2008/10/19/how-to-read-a-file-from-jar-and-war-files-java-and-webapp-archive/