【问题标题】:grails 3 tomcat war web url contextgrails 3 tomcat war web url context
【发布时间】:2016-09-10 16:25:34
【问题描述】:

是否有关于在 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

我现在的当前步骤:

  1. grails 编译
  2. 圣杯刺激战争
  3. java -Dgrails.env=prod -jar build/libs/gr-base-0.21.war

这可以运行应用程序。我可以

错误 1: ```` 错误 org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[grailsDispatcherServlet] - Servlet.service() for 带有路径 [] 的上下文中的 servlet [grailsDispatcherServlet] 引发异常 [无法解析名称为“/index”的视图 servlet 名称为 'grailsDispatcherServlet'] 的根本原因 javax.servlet.ServletException:无法解析名称为“grailsDispatcherServlet”的 servlet 中名称为“/index”的视图

    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']] ] 静态安全是一个更新,我怀疑领先的/**/ 需要在那里! :( 让我们希望这是解决方案。

【问题讨论】:

    标签: tomcat grails grails-3.0


    【解决方案1】:

    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'

    【讨论】:

      猜你喜欢
      • 2011-05-23
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-16
      • 2012-08-10
      • 1970-01-01
      相关资源
      最近更新 更多