Java Tomcat无法启动grails应用程序定位

Java Tomcat无法启动grails应用程序定位,java,tomcat,grails,Java,Tomcat,Grails,这是我的控制器: def delete(){ def response = fileManageService.delete(params.a,params.b,params.c) def SpaceVal = fileManageService.Space(params.d) def message = ["message":response ,"data": SpaceVal] render message as JSON } 这是我的服务: def Sp

这是我的控制器:

 def delete(){
   def response =  fileManageService.delete(params.a,params.b,params.c)
   def SpaceVal =  fileManageService.Space(params.d)
   def message = ["message":response ,"data": SpaceVal]
   render message as JSON
 }
这是我的服务:

 def Space(def d){ 
    try{
        File fileObj = new File(d) 
        def useSpace = fileObj.getSpace() 
        return useSpace
    }catch(Exception e){ 
        return e.getMessage();
    }
}
将代码添加到现有工作应用程序后,tomcat无法编译代码,并抛出以下日志错误

INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@63e3f789')
Jul 10, 2017 11:22:11 AM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
Jul 10, 2017 11:22:11 AM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Jul 10, 2017 11:22:12 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: com/mediacast/services/FileManageService$_driveSpace_closure18
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:762)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoClassDefFoundError: com/mediacast/services/FileManageService$_driveSpace_closure18
    at java.lang.Class.forName(Class.java:249)
    ... 5 more
Caused by: java.lang.ClassNotFoundException: com.mediacast.services.FileManageService$_driveSpace_closure18
    ... 6 more
Jul 10, 2017 11:22:20 AM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
Jul 10, 2017 11:22:21 AM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Jul 10, 2017 11:22:22 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: com/mediacast/services/FileManageService$_Space_closure18
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoClassDefFoundError: com/mediacast/services/FileManageService$_Space_closure18
    at java.lang.Class.forName(Class.java:249)
    ... 3 more
Caused by: java.lang.ClassNotFoundException: com.mediacast.services.FileManageService$_Space_closure18

有人能帮我找出导致此错误的原因吗?

您的日志中有多个错误,但都是由于FileManageService不存在。您没有在这里提供整个服务(您也不需要),但我猜该文件中的某个地方存在编译错误,并且没有成功编译。因此,它不包含在您的应用程序中,并且在您调用它时不存在


使用你的IDE(如果你有,如果你没有,还有很好的免费IDE!看看Intellij!)来跟踪代码中的错误。

此外,按照惯例,方法的名称不能用大写字母开头。这使它看起来像一个内部类,并且确实使调试更加困难!在添加代码段之前,应用程序工作得很好,当我删除服务方法并部署时,它再次成功编译。您的文件对象是什么?我在java.io.File上没有看到getSpace()方法,也没有看到Groovy对它的增强。