• maven把项目打包成jar包后找不到velocity模板的bug


    使用springmvc 开发时候要实现发送velcotiy模板邮件,在配置正常后,在本地测试正常后,使用maven打包成jar包后,报以下错误,

    Caused by: org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'templates/index.vm'

    at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:474)

    at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:352)

    at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1533)

    at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:343)

    at org.springframework.ui.velocity.VelocityEngineUtils.mergeTemplate(VelocityEngineUtils.java:71)

    at org.springframework.ui.velocity.VelocityEngineUtils.mergeTemplateIntoString(VelocityEngineUtils.java:112)

    at com.cooka.user.util.MailSender.sendVelocityEMail(MailSender.java:65)

    at com.cooka.user.service.impl.UserServiceImpl.sendUserResetPasswordEmail(UserServiceImpl.java:135)

    at com.cooka.web.user.controller.ResetPasswordHandler.doForget(ResetPasswordHandler.java:63)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

     

          提示找不到vm模板文件。我用的是eclipse,使用tomcat和jetty在本地测试都木有问题,但打成jar后就是找不到jar包,后面和同伴讨论了下,才知道因为是maven打包,一些资源文件要放在src/main/resources文件夹下面,直接放在src/main/java目录下,程序运行后市找不到资源路径的。

          参见7天学会Maven(第二天——Maven 标准目录结构),再了解到src/main/resources,负责管理项目主体的资源。在使用Maven2执行compile之后,这个目录中的所有文件及子目录,会复制到target/classes目录中。因此,后面我就紧紧把整个目录templates/index.vm 移到src/main/resources下即可,代码无需改变。出现这样的问题,是自己对maven不够熟悉吧,由此做个记录。

  • 相关阅读:
    04 body中的相关标签
    03 我的第一个html页面
    02 标签的分类
    01 前端初识
    10-pymysql的应用
    NOIP2012提高组初赛总结(题目+易错点+解析)
    NOIP2011提高组初赛总结(题目+易错点+解析)
    浅谈哈夫曼编码
    关于P类问题,NP问题,NPC问题的一些粗浅理解
    NOIP2010提高组初赛总结(题目+易错点+解析)
  • 原文地址:https://www.cnblogs.com/LZYY/p/4705884.html
Copyright © 2020-2023  润新知