我是 GRAILS 的新手,但我构建了一个简单的应用程序,并且正在尝试将其部署到 tomcat。
如果我使用以下方式运行应用程序:
grails prod run-app
一切正常。但是,如果我将它构建到一个战争文件
grails prod war
然后要么将war包上传到tomcat服务器,要么直接运行它
java -Dgrails.env=prod -jar build\lib\app.war
然后我得到了这种奇怪的行为,起初一切似乎都很好,但是每当我单击索引以外的操作的链接时,我都会收到 404 错误。例如
webapp:8080/employee WORKS
webapp:8080/employee/index WORKS
webapp:8080/employee/show/1 404 error
webapp:8080/department WORKS
webapp:8080/department/show/1 404 error
等等
在上面的示例中 webapp:8080/employee/show/1 肯定应该找到,因为它是从索引中的表列出并链接的。
我在深入了解它时遇到了很大的麻烦,因为无论我是在 tomcat 中还是直接运行它,我似乎都无法从正在运行的 war 文件中找到任何反馈,即使我将环境移动到测试或开发。日志文件或标准输出中没有任何内容。
这是我的 UrlMappings
package generico
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?(.$format)?"{
constraints {
// apply constraints here
}
}
// "/"(view:"/index")
"/"(controller:"employee", action:"index")
"500"(view:'/error')
"404"(view:'/notFound')
}
}
同样,如果我为任何环境执行“grails run-app”,一切都会正常工作。
我很感激任何帮助。谢谢。