tomcat - grails 3 tomcat war 网站网址上下文

标签 tomcat grails grails-3.0

在tomcat 8上/中运行的grails 3应用程序是否有操作说明?

背景:
| Grails版本:3.0.9
| Groovy版本:2.4.5
| JVM版本:1.8.0_91 Grails application running at http://localhost:8080 in environment: production INFO org.springframework.security.core.SpringSecurityCoreVersion - You are running with Spring Security Core 4.0.3.RELEA
我现在的当前步骤:

  • grails编译
  • grails产品战
  • java -Dgrails.env = prod -jar build / libs / gr-base-0.21.war

  • 这能够运行该应用程序。我有能力
  • 能够看到html目录http://localhost:8080/privacy.html
  • 重定向到默认的Spring登录页面(接受u / p)
  • 不安全的json服务webapi可以正常工作!

  • 错误1:
    ``
    错误org.apache.catalina.core.ContainerBase。[Tomcat]。[localhost]。[/]。[grailsDispatcherServlet]-的Servlet.service()
    路径为[]的上下文中的servlet [grailsDispatcherServlet]引发了异常[无法解析名称为'/ index'的 View
    名为“grailsDispatcherServlet”的servlet,其根本原因是
    javax.servlet.ServletException:无法解析名称为“grailsDispatcherServlet”的servlet中名称为“/ index”的 View
        at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1227) ~[spring-webmvc-4.1.7.R
    

    ELEASE.jar!/:4.1.7.RELEASE]
    ``

    日志中的另一个错误是: ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[grailsDispatcherServlet] - Servlet.service() for servlet grailsDispatcherServlet threw exception javax.servlet.ServletException: Could not resolve view with name '/error' in servlet with name 'grailsDispatcherServlet' 我尝试在application.groovy中设置上下文: app.name=livecam grails.app.context = "/livecam"
    因此,静态安全设置为: grails.plugin.springsecurity.controllerAnnotations.staticRules = [ [pattern: '/', access: ['permitAll']], [pattern: '/error', access: ['permitAll']], [pattern: '/index', access: ['permitAll']], [pattern: '/register', access: ['permitAll']], [pattern: '/failed', access: ['permitAll']], [pattern: '/index.gsp', access: ['permitAll']], [pattern: '/shutdown', access: ['permitAll']], [pattern: '/assets/**', access: ['permitAll']], [pattern: '/logout/**', access: ['permitAll']], [pattern: '/login/**', access: ['permitAll']], [pattern: '/**/js/**', access: ['permitAll']], [pattern: '/**/css/**', access: ['permitAll']], [pattern: '/**/images/**', access: ['permitAll']], [pattern: '/appstatus/**', access: ['permitAll']], [pattern: '/appStatus/**', access: ['permitAll']], [pattern: '/stats/**', access: ['permitAll']], [pattern: '/stat/**', access: ['permitAll']], [pattern: '/hello/**', access: ['permitAll']], [pattern: '/index/**', access: ['permitAll']], [pattern: '/testing/**', access: ['permitAll']], [pattern: '/j_spring_security_logout**', access:['permitAll']], [pattern: '/j_spring_security_facebook_redirect**', access: ['permitAll']], [pattern: '//j_spring_security_facebook_json**', access: ['permitAll']], [pattern: '/j_spring_security_facebook_redirect/**', access: ['permitAll']], [pattern: '//j_spring_security_facebook_check/**', access: ['permitAll']], [pattern: '/j_spring_security**', access: ['permitAll']], [pattern: '/**/*.htm*', access: ['permitAll']], [pattern: '/**/favicon.ico', access: ['permitAll']] ] 静态安全性是一个更新,我怀疑领先的/**/需要存在! :(我们希望这是解决方案。

    最佳答案

    https://github.com/grails/grails-core/issues/9302

    使搜索关键字正确是有益的。

    graemerocher于2015年10月7日评论了
    您可以通过执行cd build / libs然后执行java -jar app310-0.1.war来解决此问题。

    Grails感到困惑,因为如果您从项目根目录运行它,则认为您正在本地运行该项目。
    有效的关键字是:
    ServletException: Could not resolve view with name '/error' in servlet with name 'grailsDispatcherServlet'

    关于tomcat - grails 3 tomcat war 网站网址上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37227515/

    相关文章:

    jsp - 使用 JSP 在隐藏输入中嵌入查询字符串参数导致 500 错误

    grails - Spring Security Core插件的默认登录页面在哪里?

    grails - Grails 3 项目中的资源应该放在哪里?

    java - 如何在Grails 3中捕获 “org.springframework.web.multipart.MultipartException”

    java - 使用ssl运行的tomcat的两个实例

    tomcat - 如何在 Jetty 中运行 Grails?

    java - 重新安装 CA 证书 - Tomcat

    grails - 如何在gsp中显示域值

    jquery-ui - 自定义 Grails 生成的 View

    grails - 列出新Grails 3.0应用程序的插件更新