Grails 包后出现 NoClassDefFoundError

NoClassDefFoundError after grails package

当我在本地环境中 运行 我的 Grails 项目时,一切正常,但是当我使用 grails package 并将其部署到我们的测试服务器时,它无法加载页面,因为它抛出一个 NoClassDefFoundError

这是加载特定页面的代码:

package com.x.scheduledReport

import com.x.Account
import com.x.XUtil
import com.x.ResponseList
import com.x.ScheduledReport
import com.x.UserService
import com.x.scheduledReports.ScheduledReportDeleteAllCommand
import com.x.scheduledReports.ScheduledReportDeleteCommand
import com.x.scheduledReports.ScheduledReportResponse
import com.x.scheduledReports.ScheduledReportUpdateCommand
import com.x.scheduledReports.ScheduledReportsCommand
import grails.transaction.Transactional
import com.x.scheduledreport.ScheduledReportUtil


@Transactional
class ScheduledReportBusinessService {
    ScheduledReportService scheduledReportService
    UserService userService

    def list(Map params) {
        if (params.start) {
            params.offset = params.start
        }
        if (params.length) {
            params.max = Math.min(params.length ? params.length as Integer : 100, 1000)
        }
        params.columns = XUtil.getSearchMap(params)
        Account account = userService.getAccountForCurrentUser()
        def scheduledReports = scheduledReportService.findAllByAccount(params, account)
        params.total = scheduledReports.count
        List<ScheduledReportResponse> scheduledReportResponseList = ScheduledReportUtil.toScheduledReportResponseList(scheduledReports.list)
        new ResponseList(recordsTotal: scheduledReports.count, recordsFiltered: scheduledReports.count,
                data: scheduledReportResponseList, draw: params.draw ? params.draw as int : 0)
    }
}

这是日志中抛出的错误

ERROR 2018-04-05 14:18:42,242 org.springframework.boot.context.web.ErrorPageFilter - Forwarding to error page from request [/rest/scheduledreport/list/true] due to exception [com/x/scheduledreport/ScheduledReportUtil] java.lang.NoClassDefFoundError: com/x/scheduledreport/ScheduledReportUtil at com.x.scheduledReport.ScheduledReportBusinessService.$tt__list(ScheduledReportBusinessService.groovy:33) at com.x.scheduledReport.ScheduledReportBusinessService$_list_closure1.doCall(ScheduledReportBusinessService.groovy)

ScheduledReport 的文件夹名称不一致,使所有名称相同解决了这个问题。