play 部署问题 play.exceptions.TemplateExecutionException: No signature of method: java.lang.String.f
来源:互联网 发布:自学英语口语的软件 编辑:程序博客网 时间:2024/05/29 03:00
前提: 使用 play 局部更新包生成器V3.0 (http://download.csdn.net/detail/fasttime/9453996) 打包 html,部署至线上后可能出现以下问题。
formatMobile() 是 play.templates.JavaExtensions 自定义的子类中的方法,但 play 本身并不会去找 JavaExtensions 自定义的子类的方法,所以导致了这个错误
play.exceptions.TemplateExecutionException: No signature of method: java.lang.String.formatMobile() is applicable for argument types: () values: [] at play.templates.BaseTemplate.throwException(BaseTemplate.java:86) at play.templates.GroovyTemplate.internalRender(GroovyTemplate.java:272) at play.templates.GroovyTemplate.internalRender(GroovyTemplate.java:282) at play.templates.Template.render(Template.java:26) at play.templates.GroovyTemplate.render(GroovyTemplate.java:202) at play.mvc.results.RenderTemplate.<init>(RenderTemplate.java:24) at play.mvc.Controller.renderTemplate(Controller.java:662) at play.mvc.Controller.renderTemplate(Controller.java:642) at play.mvc.Controller.render(Controller.java:699) at controllers.BaseController.logIllegalState(BaseController.java:288) at play.mvc.ActionInvoker.invoke(ActionInvoker.java:510) at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:484) at play.mvc.ActionInvoker.invoke(ActionInvoker.java:198)
将 JavaExtensions 自定义的子类的方法复制至 JavaExtensions 类中,替换 play-1.2.7.jar 中的 class 即可恢复正常。
注:
http://download.csdn.net/detail/fasttime/9453996 中的3.0 有缺陷,在类有内部类的情况下,打包会出现问题(内部类没打上去) ,V3.1已修复,有需要的请单独与我联系 。
20160312备注:
之前产生问题的原因是由于在定制 paly 包时,JavaExtensions 的子类没有被 ClassLoader 正常加载。采用最新的包(play-1.2.7.jar 定制版 http://download.csdn.net/detail/fasttime/9459444)或 重新参考文章(play1.2.7局部编译,局部打包完整解决方案 http://blog.csdn.net/fasttime/article/details/50813286) 将不会出现此类问题。
最后感谢贺军的协助。
0 0
- play 部署问题 play.exceptions.TemplateExecutionException: No signature of method: java.lang.String.f
- No signature of method: java.lang.String.positive() is applicable for argument types: () values: []
- play.exceptions.TemplateExecutionException: Expecting a stack map frame 错误处理
- Error:No signature of method: java.lang.Integer.call() is applicable for arg
- 关于java.lang.ClassNotFoundException: play.db.jpa.JPABase问题
- No signature of method: static org.gradle.api.java.archives.Manifest.srcFile() is applicable for arg
- play2 java 学习(一) play安装部署
- play
- play
- Play!
- play
- Play
- Signature of a method
- had objects of type "java.lang.String" but expected signature "org.apache.struts.upload.FormFile"
- play项目部署
- java.lang.IllegalStateException: play() called on uninitialized AudioTrack.
- 解决play framework play控制台乱码问题
- Java 框架 Play ——"Hello Play"
- 二进制整数的倒序
- 打开整个系统的隐藏文件
- 快乐的JYY
- HDOJ 3555 Bomb
- IDL接口描述语言和COM接口COM组件
- play 部署问题 play.exceptions.TemplateExecutionException: No signature of method: java.lang.String.f
- C++ 学习之路(2):对象数组和指针
- 阿里一面准备工作<java部分>
- Python——域名解析成IP地址
- 积分图(用于计算块像素差异的快速方法)
- [bzoj3676][APIO2014]回文串
- C++ 学习之路(3):向函数传递对象
- 猜拳游戏案例
- Java中堆内存与栈内存分配浅析