我在 windows xp 和 centos 上使用 grails 1.3.4。 centos上的Tomcat 5。
我在一个应用程序(以及我放在一起的测试应用程序)上进行了“grails dev war”和“grails prod war”。我在 xp 上获取 war 文件并在另一个目录中展开它。在 centos 上,我可以将 war 文件放在 tomcat 中,也可以放在它自己的目录中。但是当我去 run-war 或 run-app 解压的 war 文件时,我被告知我的应用程序是 pre-0.5 grails。我做了一个grails升级。但是当我再次去 run-app 或 run-war 时,我得到 0 个域 0 个 Controller ,但没有任何可用的东西。
在我对文件进行 war 之前,我的应用程序是 1.3.4,它可以运行、通过测试和完整的功能,但在我对它进行 war 之后就没有了。有任何想法吗?
最佳答案
您不能在解压后的 war 文件上使用 run-app 或 run-war。两者都旨在从源项目本身使用。 run-app 直接与嵌入式 Tomcat(或 Jetty,如果您切换到该插件)一起运行,并且 run-war 构建一个 war 并将其部署到嵌入式 Tomcat 中。
当你构建一个 war 时(无论你是否解压它),它将被 Tomcat 或其他 servlet 容器直接使用,而不是作为“Grails war ”,而是作为任何其他 war 。
基本上你的选择是:
关于 chalice war 和部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3788233/