0

我在 windows xp 和 centos 上使用 grails 1.3.4。centos上的Tomcat 5。

我在一个应用程序(以及我放在一起的测试应用程序)上进行了“grails dev war”和“grails prod war”。我在 xp 上获取战争文件并在另一个目录中展开它。在 centos 上,我可以将战争文件放在 tomcat 中,也可以放在它自己的目录中。但是当我去 run-war 或 run-app 解压的战争文件时,我被告知我的应用程序是 pre-0.5 grails。我做了一个grails升级。但是当我再次去 run-app 或 run-war 时,我得到 0 个域 0 个控制器,但没有任何可用的东西。

在我对文件进行战争之前,我的应用程序是 1.3.4,它可以运行、通过测试和完整的功能,但在我对它进行战争之后就没有了。有任何想法吗?

4

2 回答 2

3

您不能在解压后的 war 文件上使用 run-app 或 run-war。两者都旨在从源项目本身使用。run-app 直接与嵌入式 Tomcat(或 Jetty,如果您切换到该插件)一起运行,并且 run-war 构建一个战争并将其部署到嵌入式 Tomcat 中。

当你构建一个战争时(无论你是否解压它),它将被 Tomcat 或其他 servlet 容器直接使用,而不是作为“Grails 战争”,而是作为任何其他战争。

基本上你的选择是:

  • 来自项目根目录的“grails run-app”以在开发模式下进行测试
  • 来自项目根目录的“grails prod run-war”以测试 prod 模式下的战争
  • 'grails war' 部署到独立容器并作为已部署的应用程序运行
于 2010-09-24T15:36:10.053 回答
-2

如果您使用数据源,请检查您的用户名和密码对于数据库连接是否正确

于 2012-01-02T11:48:42.590 回答