我正在使用以下代码查找 Freemarker 从 HTML 创建 PDF 所需的资源。
public static URL lookupResource(String resource) {
System.out.println("Looking up resource: " + resource);
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL templateFileUrl = classLoader.getResource(resource);
System.out.println("path: " + templateFileUrl.getPath());
return templateFileUrl;
}
在 Eclipse Maven 项目中的 Jetty 上运行,我得到以下信息:
Looking up resource: abc.html
path: /C:/Projects/WebDocs/EclipseProjects/webdocs2/webdocs/target/classes/abc.xhtml
这是资源所在并且工作正常的地方。
当我将战争文件导出到 Tomcat 时,资源被放入 /C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%207.0/webapps/webdocs
在Tomcat上运行我得到以下信息:
Looking up resource: abc.html
path: /C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%207.0/webapps/webdocs/WEB-INF/classes/abc.xhtml
这不是资源所在的位置,会导致文件未找到异常。
我究竟做错了什么?