Grails:仅在生产tomcat服务器中运行时使用RestBuilder异常



我创建了war文件并部署到tomcat服务器中,但是在提交注册页面(具有recaptcha(时发生了此错误,但不是在使用GGTS IDE在本地机器上运行的本地机器和应用程序中。

以下是生产服务器中发生的错误

    errors.GrailsExceptionResolver  - ClassNotFoundException occurred when processing request: [POST] /IFP/signup/completeSignUp
grails.plugins.rest.client.RestBuilder. Stacktrace follows:
java.lang.ClassNotFoundException: grails.plugins.rest.client.RestBuilder
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.getDeclaredMethods(Class.java:1975)
    at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:46)
    at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:33)
    at com.megatome.grails.recaptcha.ReCaptcha.checkAnswer(ReCaptcha.groovy:171)
    at com.megatome.grails.RecaptchaService.verifyAnswer(RecaptchaService.groovy:147)
    at com.controllers.portal.SignupController.completeSignUp(SignupController.groovy:42)
    at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198)
    at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
    at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.java:53)
    at grails.plugin.springsecurity.web.authentication.RequestHolderAuthenticationFilter.doFilter(RequestHolderAuthenticationFilter.java:53)
    at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:62)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

在我看来,这种异常发生在实施 recaptcha 之后。请帮助我解决此问题。

java.lang.ClassNotFoundException: grails.plugins.rest.client.RestBuilder

明确指出,您的生产战争或雄猫中缺少该类。

确保根据插件 ref-doc 在gradle配置中设置正确的依赖项:

compile "org.grails.plugins:rest-client-builder:2.1.1"

检查这些罐子是否也存在于你的战争或雄猫的类路径中

将文件grails-datastore-rest-client-3.1.4.RELEASE.jar复制到 tomcat lib 文件夹中解决了问题。您可以从此处下载 jar 文件。

如果有人仍在寻找答案: 请将以下行添加到build.gradle,它应该可以工作(拉入必要的依赖项(:

implementation 'org.grails:grails-datastore-rest-client:6.1.9.RELEASE'

最新更新