1

我正在使用 Spring Security Core 1.2.7.3 插件,并在尝试部署时收到此错误:

Error occurred during deployment: Exception while loading the app : 
java.lang.IllegalStateException: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 
'transactionManagerPostProcessor': Initialization of bean failed; nested exception
 is     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 'propertie .... msg.seeServerLog 

当我从 netbeans 中运行该应用程序时,它运行良好,但是当我尝试部署它时,我收到了错误。我已经尝试清理并取消注释'mysql:mysql-connector-java:5.1.16'BuildConfig.groovy 文件中依赖项中的代码。我正在使用已安装在 /lib 文件夹中的 Oracle jdbc 驱动程序。

我猜这与找不到 Oracle jdbc 驱动程序有关。

更新:我在下面添加了我的生产关闭

production {
    dataSource {
        url = "jdbc:oracle:thin:@MYSERVERNAME.com:xxxx:xxxxxxx"
        pooled = true
        properties {
           maxActive = -1
           minEvictableIdleTimeMillis=1800000
           timeBetweenEvictionRunsMillis=1800000
           numTestsPerEvictionRun=3
           testOnBorrow=true
           testWhileIdle=true
           testOnReturn=true
           validationQuery="SELECT 1"
        }
    }
}
4

1 回答 1

1

检查你的DataSource.groovy,很可能你的production关闭有问题。当您在 NetBeans 中运行时,您可能使用的是开发环境,但是当您构建一个战争时,Grails 使用的是生产环境。您可以尝试-Dgrails.env=production在 IDE 中设置标志,看看是否遇到了同样的问题。如果它有效,您就知道这是 Glassfish 的问题,如果它失败了,您就知道这是您的环境配置的问题。

编辑:

尝试将此添加到您的生产闭包中:

driverClassName = "oracle.jdbc.driver.OracleDriver"
dialect = "org.hibernate.dialect.Oracle10gDialect"

或者任何适合您的 Oracle 版本的方言。

于 2012-06-12T19:04:58.047 回答