Java 加载类时playframework CRUD NullPointerException

Java 加载类时playframework CRUD NullPointerException,java,playframework,crud,Java,Playframework,Crud,我在运行使用crud模块的play应用程序时遇到此异常。 奇怪的是,当我收到这个错误并刷新网页时,play应用程序工作正常,页面加载正确。在开发模式下,play编译器似乎无法在第一个请求中编译CRUD类。我不知道为什么开发模式下的play编译器经常在我的play web应用程序中编译某些类时失败 我使用eclipseide&我怀疑eclipse锁定了一些java源文件,并阻止play编译java源代码;然而,我不确定这一点。可能有一些原因会导致play-DEV模式编译器失败&我想不出来。这些天来

我在运行使用crud模块的play应用程序时遇到此异常。 奇怪的是,当我收到这个错误并刷新网页时,play应用程序工作正常,页面加载正确。在开发模式下,play编译器似乎无法在第一个请求中编译CRUD类。我不知道为什么开发模式下的play编译器经常在我的play web应用程序中编译某些类时失败

我使用eclipseide&我怀疑eclipse锁定了一些java源文件,并阻止play编译java源代码;然而,我不确定这一点。可能有一些原因会导致play-DEV模式编译器失败&我想不出来。这些天来,我在使用play web应用程序时经常遇到这个问题

这个错误意味着什么以及如何修复它

ERROR ~ 

@69g88ea66
Internal Server Error (500) for request GET /

Template execution error (In {module:crud}/app/views/tags/crud/types.tag around line 3)
Execution error occured in template {module:crud}/app/views/tags/crud/types.tag. Exception raised was NullPointerException : null.

play.exceptions.TemplateExecutionException
    at play.templates.BaseTemplate.throwException(BaseTemplate.java:86)
    at play.templates.GroovyTemplate.internalRender(GroovyTemplate.java:257)
    at play.templates.GroovyTemplate$ExecutableTemplate.invokeTag(GroovyTemplate.java:379)
    at /conf/routes.(line:42)
    at play.templates.GroovyTemplate.internalRender(GroovyTemplate.java:232)
    at play.templates.Template.render(Template.java:26)
    at play.templates.GroovyTemplate.render(GroovyTemplate.java:187)
    at play.mvc.Router.parse(Router.java:162)
    at play.mvc.Router.load(Router.java:48)
    at play.mvc.Router.detectChanges(Router.java:219)
    at Invocation.HTTP Request(Play!)
Caused by: java.lang.NullPointerException
    at play.classloading.ApplicationCompiler$2.acceptResult(ApplicationCompiler.java:266)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:478)
    at play.classloading.ApplicationCompiler.compile(ApplicationCompiler.java:282)
    at play.classloading.ApplicationClassloader.getAllClasses(ApplicationClassloader.java:424)
    at play.classloading.ApplicationClassloader.getAssignableClasses(ApplicationClassloader.java:453)
    at play.classloading.ApplicationClassloader$getAssignableClasses.call(Unknown Source)
    at {module:crud}/app/views/tags/crud/types.tag.(line:3)
    at play.templates.GroovyTemplate.internalRender(GroovyTemplate.java:232)
    ... 9 more
--------更新--------

我在路由文件中使用的CRUD路由。我需要删除它们吗

#{crud.types}
GET         /?                                          ${type.controllerClass.name.substring(12).replace('$','')}.index
GET         /${type.controllerName}                     ${type.controllerClass.name.substring(12).replace('$','')}.list
GET         /${type.controllerName}/new                 ${type.controllerClass.name.substring(12).replace('$','')}.blank
GET         /${type.controllerName}/{id}                ${type.controllerClass.name.substring(12).replace('$','')}.show
GET         /${type.controllerName}/{id}/{field}        ${type.controllerClass.name.substring(12).replace('$','')}.attachment
GET         /${type.controllerName}/{id}/edit           ${type.controllerClass.name.substring(12).replace('$','')}.edit
POST        /${type.controllerName}                     ${type.controllerClass.name.substring(12).replace('$','')}.create
POST        /${type.controllerName}/{id}                ${type.controllerClass.name.substring(12).replace('$','')}.save
DELETE      /${type.controllerName}/{id}                ${type.controllerClass.name.substring(12).replace('$','')}.delete
#{/crud.types}

您的routes文件的第42行是什么?在/conf/routes.line:42是的,我忘记删除这一行,它引用了一个我不再使用的自定义模块。可能是这一行引起了所有这些麻烦:{crud.types}GET/${type.controllerName}.registration${type.controllerClass.name.substring12.replace'$',}.registration{/crud.types}顺便说一句,我仍然为crud控制器使用一些路由。我真的需要它们吗,或者我可以安全地删除问题更新部分中的路由吗?就是crud模块的con/routs文件中的这一行给出了这个错误:{crud.types}。可能路由解析器不能很好地解析它,因为它以注释符号开头?为什么编译器在上面这一行失败?路由文件的第42行是什么?在/conf/routes.line:42是的,我忘记删除这一行,它引用了一个我不再使用的自定义模块。可能是这一行引起了所有这些麻烦:{crud.types}GET/${type.controllerName}.registration${type.controllerClass.name.substring12.replace'$',}.registration{/crud.types}顺便说一句,我仍然为crud控制器使用一些路由。我真的需要它们吗,或者我可以安全地删除问题更新部分中的路由吗?就是crud模块的con/routs文件中的这一行给出了这个错误:{crud.types}。可能路由解析器不能很好地解析它,因为它以注释符号开头?为什么编译器在上面这一行失败?