我用一个域(Person)制作了最简单的(test1)应用程序,并通过命令创建了视图和控制器 - " grails generate-all Person"。 Grailsversion是3.2.3。
我在文件" application.yml"
中的开发和制作中添加了一行:( grails.app.context:" /")运行" grails run-app"效果很好,你可以使用控制器的链接" localhost:8080 / person / index"
我跑了#34; grails war"它仍然有效,但我需要在运行命令时进入与war文件相同的目录: " java -Dgrails.env = development -jar test1-0.1.war"。
然后我将它移动到TOMCAT的webapps目录。 TOMCAT自动部署应用程序并创建一个新目录" test1"对于应用程序。
然后我可以打开主页,即localhost:8011但是当我点击controllerlink时,我收到消息:"!发生了错误" 看一下tomcat日志:
0:0:0:0:0:0:0:1 - - [08/Jan/2017:09:18:01 +0100] "GET /test1/ HTTP/1.1" 200 6518
0:0:0:0:0:0:0:1 - - [08/Jan/2017:09:18:01 +0100] "GET /test1/assets/application-c6464c75bbfb4d22adc6c621127669df.css HTTP/1.1" 200 25259
0:0:0:0:0:0:0:1 - - [08/Jan/2017:09:18:01 +0100] "GET /test1/assets/application-bef98f3ac7542cc30b757375c6998c5c.js HTTP/1.1" 200 40241
0:0:0:0:0:0:0:1 - - [08/Jan/2017:09:18:01 +0100] "GET /test1/assets/grails-cupsonly-logo-white-b651640f09f462efc43058482f4131d4.svg HTTP/1.1" 200 2156
0:0:0:0:0:0:0:1 - - [08/Jan/2017:09:18:01 +0100] "GET /test1/assets/favicon-9ef27019cc7a636e29ecc851528f716e.ico HTTP/1.1" 200 6508
0:0:0:0:0:0:0:1 - - [08/Jan/2017:09:18:04 +0100] "GET /test1/person/index HTTP/1.1" 500 1942
0:0:0:0:0:0:0:1 - - [08/Jan/2017:09:18:05 +0100] "GET /test1/assets/skin/exclamation-e4dd51f46566ed3ceacdc900bf2fdf01.png HTTP/1.1" 200 701
0:0:0:0:0:0:0:1 - - [08/Jan/2017:09:19:36 +0100] "GET /test1/person/index HTTP/1.1" 500 1942
它没有给予太多但是我得到的全部。 我认为问题在于链接,但我没有线索。
答案 0 :(得分:0)
可能是您的应用上下文导致问题吗?
如果您希望应用程序在您设置的应用程序上下文中运行,即'/',那么您应该在部署Tomcat之前将战争重命名为ROOT.war。