1

次のコードを使用して、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

これはリソースがある場所ではなく、ファイルが見つからないという例外が発生します。

私は何を間違っていますか?

4

2 に答える 2