gpt4 book ai didi

eclipse - 自动安装 Grails Controller 并在 war 部署中导致 500 服务器错误

转载 作者:行者123 更新时间:2023-11-28 23:34:09 26 4
gpt4 key购买 nike

我在 Eclipse 中创建了一个由 Gradle 构建的 Grails 应用程序。我自己没有创建任何 Controller ,所以我希望在使用 run-app 时看到一个空页面(即没有列出 Controller 的欢迎使用 Grails 页面)。但是,我得到:

enter image description here

这两个 Controller 是什么,为什么会自动添加?

我问,当我通过 WAR 文件将应用程序部署到运行在 AWS Elasticbeanstalk 上的 Dockerized Tomcat 服务器时,我收到由以下原因引起的 500 服务器错误:

Caused by: org.codehaus.groovy.grails.web.pages.exceptions.GroovyPagesException: Error processing GroovyPageView: No signature of method: gsp_myApp_layoutsmain_gsp.assetPath() is applicable for argument types: (java.util.LinkedHashMap) values: [[src:favicon.ico]]

当我运行应用程序和运行 war 时,我没有遇到任何问题(只是列出了奇怪的 Controller )。我认为这可能意味着可能有一个插件没有安装在 Tomcat 服务器上是必需的并且已经自动安装在我的本地机器上?顺便说一下,我在本地运行 Dockerized Tomcat 服务器时遇到了同样的 500 错误,所以问题不在 AWS。

最佳答案

因为您发现了真正的错误,所以有点没有实际意义,但无论如何都有一些背景信息:

如果您只是在项目根目录中搜索,您会找到那些 Controller - 它们都是由您应用中的插件提供的,因此它们隐藏在您的 target 目录中。

插件在 BuildConfig.groovy 中指定,当您运行 create-app 时生成初始文件(或做一些事情让您的 IDE 为您运行该脚本)包括一组您可能需要的初始插件; Hibernate 用于持久性,Tomcat 用于嵌入式 Web 服务器等。一旦您的需求稳定下来并且您对数据库进行了更多可控的更改,您将需要像 Liquibase 这样的东西来为您管理它,因此 database-migration 插件包含在内,它是DbdocController 的源代码。您还应该管理静态 UI 资源以最大限度地提高真实和明显的前端性能,因此添加了 asset-pipeline 插件(并且它的一些插件插件被注释掉作为建议)。那是另一个 Controller 的来源。

关于eclipse - 自动安装 Grails Controller 并在 war 部署中导致 500 服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26420140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com