gpt4 book ai didi

java - 找不到类路径的速度模板

转载 作者:行者123 更新时间:2023-11-29 10:19:53 25 4
gpt4 key购买 nike

当我切换到“类路径”资源加载器时,我似乎无法访问我的速度模板。我试过在/WEB-INF/classes/templates、/WEB-INF/templates 上放置一个模板目录,在/WEB-INF/lib 中创建一个templates.jar。它们都不起作用。有任何想法吗?这些文件的权限都是正确的。

Properties p = new Properties();
p.setProperty("runtime.log.logsystem.class", "org.apache.velocity.tools.generic.log.CommonsLogLogSystem");

/*
// Works fine:
p.setProperty(RuntimeConstants.RESOURCE_LOADER, "file");
p.setProperty("file.resource.loader.path", "/path/to/templates");
*/

// Cannot find template with this:
p.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
p.setProperty("class.resource.loader.class", ClasspathResourceLoader.class.getName());
p.setProperty("resourceLoaderPath", "/WEB-INF/classes/templates");

org.apache.velocity.app.Velocity.init(p);

template = org.apache.velocity.app.Velocity.getTemplate("confirmation_html.vm");

最佳答案

这是我过去的做法。它奏效了,尽管可能不是让它发挥作用的最佳方式。假设你有一个 /webapps/WEB-INF/ 结构,

 Properties prop = new Properties();
String absolutePath=new File(Thread.currentThread().getContextClassLoader().getResource("").getFile()).getParentFile().getParentFile().getPath();//this goes to webapps directory
prop.put("file.resource.loader.path", absolutePath+"/WEB-INF/classes/templates");
Velocity.init(prop);
Template t=Velocity.getTemplate("confirmation_html.vm");

p1ng

关于java - 找不到类路径的速度模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8447335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com