次のコードを使用して、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
これはリソースがあり、正常に機能する場所です。
war ファイルを 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
これはリソースがある場所ではなく、ファイルが見つからないという例外が発生します。
私は何を間違っていますか?