Tomcat没有';t从Grails启动.war文件

Tomcat没有';t从Grails启动.war文件,tomcat,grails,deployment,war,Tomcat,Grails,Deployment,War,我正在使用Grails1.3.7和Tomcat8 我从Grails应用程序创建了一个.war文件,以便在Tomcat8中启动它。我使用grailswar命令创建了它 我阻止了雄猫。然后我将.war文件放在webapps文件夹中,并再次启动tomcat。 当我转到Web应用程序管理器时,有我的应用程序,但未启动。如果我点击Start什么都没有发生。另外,如果我在部署表单中上传它,我可以在管理器中找到它,但没有启动 我没有收到错误消息。我该怎么做才能开始呢 这是我的stacktrace.log文件

我正在使用Grails1.3.7和Tomcat8

我从Grails应用程序创建了一个.war文件,以便在Tomcat8中启动它。我使用
grailswar
命令创建了它

我阻止了雄猫。然后我将.war文件放在webapps文件夹中,并再次启动tomcat。 当我转到Web应用程序管理器时,有我的应用程序,但未启动。如果我点击
Start
什么都没有发生。另外,如果我在部署表单中上传它,我可以在管理器中找到它,但没有启动

我没有收到错误消息。我该怎么做才能开始呢

这是我的stacktrace.log文件

2014-02-17 11:12:05,757 [localhost-startStop-1] ERROR StackTrace  - Sanitizing stacktrace:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Cannot resolve reference to bean 'hibernateProperties' while setting bean property 'hibernateProperties'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateProperties': Cannot resolve reference to bean 'dialectDetector' while setting bean property 'properties' with key [hibernate.dialect]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dialectDetector': Invocation of init method failed; nested exception is org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
[...]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dialectDetector': Invocation of init method failed; nested exception is org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    ... 3 more
Caused by: org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    ... 3 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:343)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2334)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2371)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2163)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:378)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at com.sun.proxy.$Proxy16.getMetaData(Unknown Source)
    ... 3 more
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:254)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:292)
    ... 14 more

您似乎没有为
生产
环境正确配置
数据源
。请参阅:

发布Tomcat日志,否则无法提供帮助you@lukelazarovic无论如何,您似乎没有指定足够的凭据来连接到生产数据库。您是否真的以
root
用户身份连接?您是否需要
创建drop
生产数据库?我为生产数据库配置的数据源错误。我编辑了它,现在它工作了。太多了
dataSource {
    pooled = false
    driverClassName = "com.mysql.jdbc.Driver"
    url = "jdbc:mysql://localhost/OptMan?useUnicode=yes&characterEncoding=UTF-8"
    username = "root"
    password = "123456"
    dbCreate = "create-drop"
    //dbCreate = "update"
}
hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = true
    cache.provider_class = 'net.sf.ehcache.hibernate.EhCacheProvider'
}

environments {
    production {
        dataSource {
            pooled = false
            driverClassName = "com.mysql.jdbc.Driver"
            url = "jdbc:mysql://localhost/OptMan?useUnicode=yes&characterEncoding=UTF-8"
            username = "root"
            password = "123456"
            dbCreate = "create-drop"
            //dbCreate = "update"
        }
    }
}