Java 未找到velocity模板资源异常

Java 未找到velocity模板资源异常,java,servlets,velocity,Java,Servlets,Velocity,发生异常: org.apache.velocity.exception.ResourceNotFoundException:无法 查找资源“ResourceLoader1.vm” 我在/WEB-INF/templates中有ResourceLoader1.vm,我坚持这个,请帮助我 Properties props = new Properties(); props.put("file.resource.loader.path", "/WEB-

发生异常: org.apache.velocity.exception.ResourceNotFoundException:无法 查找资源“ResourceLoader1.vm”

我在/WEB-INF/templates中有ResourceLoader1.vm,我坚持这个,请帮助我

            Properties props = new Properties();  
            props.put("file.resource.loader.path", "/WEB-INF/templates");
            Velocity.init(props);
            VelocityContext context = new VelocityContext();
            context.put("greetings", "Many Happy returns");
            context.put("name", "Joseph");
            Writer writer = new StringWriter();
            Template template = Velocity.getTemplate("ResourceLoader1.vm");
            template.merge(context, writer);

您应该相对于类路径放置.vm模板。更好的选择是将/templates目录放在WEB-INF/classes下,丢失道具,然后按如下方式获取它:

Template template = Velocity.getTemplate("templates/ResourceLoader1.vm");

您应该相对于类路径放置.vm模板。更好的选择是将/templates目录放在WEB-INF/classes下,丢失道具,然后按如下方式获取它:

Template template = Velocity.getTemplate("templates/ResourceLoader1.vm");

似乎您正在web应用程序中使用Velocity。为此,您最好使用专门为这种用途设计的


与您的配置一起使用的
FileResourceLoader
不了解Web服务器、上下文和其他内容,因此您配置它的方式,它将在您的应用程序服务器运行的文件系统的根目录中查找
WEB-INF
文件夹。

似乎您正在WEB应用程序中使用Velocity。为此,您最好使用专门为这种用途设计的


与您的配置一起使用的
FileResourceLoader
不了解Web服务器、上下文和其他内容,因此您配置它的方式,它将在您的应用程序服务器运行的文件系统的根目录下查找
WEB-INF
文件夹。

我尝试过,但在eclipse中WEB-INF下没有类目录,我在eclipse IDE中运行,但是build下只有classes目录可用。因此我将templates/ResourceLoader1.vm放在build/classes下。请帮助我理解我是否错了。告诉Eclipse在创建WAR文件时将/templates目录及其内容复制到WEB-INF/classes中。我尝试过,但Eclipse中WEB-INF下没有classes目录,我在Eclipse IDE中运行,但build下只有classes目录可用。因此我将templates/ResourceLoader1.vm放在build/classes下。请帮助我理解我是否错了。告诉Eclipse在创建WAR文件时将/templates目录及其内容复制到WEB-INF/classes中。