错误没有使用grails找到默认容器

时间:2013-09-06 19:13:52

标签: tomcat grails

我尝试使用grails run-app命令启动webapp但是我遇到以下错误:

| Compiling 8 source files

| Compiling 81 source files.....

| Error No default container found. Please install a container plugin such as 'tomcat' first.

BuildConfig.groovy包含构建":tomcat:$grailsVersion"

我不知道解决这个问题。

感谢您的帮助!

EDIT1:我修改了我的BuildConfig.groovy并且它包含:http://pastebin.com/7S16HNHY但它没有解决我的错误。 我用grails create-app my-project创建了一个应用程序,它运行正常!

3 个答案:

答案 0 :(得分:4)

尝试删除{user-home}/.grails/2.2.4/projects/{your-project}。如果您对丢失任何内容感到紧张,可以将文件夹备份到另一个目录,但文件夹中的所有内容都应该是生成的文件。然后再次执行run-app,看看它是否解决了您的问题。

此外,Burt Beckwith在Programming Grails中的一个很好的建议是更改BuildConfig.groovy文件中的行

grails.project.class.dir = "target/classes"
grails.project.test.class.dir = "target/test-classes"
grails.project.test.reports.dir = "target/test-reports"

grails.project.work.dir = 'target'

然后,如果你的项目进入一个不可恢复的状态,你只需要清除/target目录,所有内容都将为你重新生成。

答案 1 :(得分:3)

请参阅BuildConfig.groovy中的how plugins are declared

至少需要此部分:

grails.project.dependency.resolution = {
    inherits("global") {
    }
    repositories {
        grailsPlugins()
        grailsHome()
        grailsCentral()
    }

    plugins {
        build ":tomcat:$grailsVersion"
    }
}

答案 2 :(得分:3)

如果将来参考,如果按照Release Notes升级到Grails 2.3.7:

  

推荐的Tomcat和Hibernate插件版本

     

如果您要从以前版本的Grails 2.3.x升级而且您正在升级   使用你需要更新的Hibernate和/或Tomcat插件   BuildConfig中的版本:

build ':tomcat:7.0.52.1'
runtime ':hibernate:3.6.10.10' // ':hibernate4:4.3.4.1' for Hibernate 4