HibernateException:在为GWT使用HTTPS时无法实例化dialect类

时间:2015-06-05 19:02:04

标签: hibernate ssl gwt

我不知道这是否与我让服务器使用SSL的事实有关,但这是我做的唯一改变。

以下是两个参数列表:

没有SSL

  

-superDevMode -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -startupUrl index.html -logLevel INFO -codeServerPort 9997 -port 8888 -server com.google.appengine.tools.development.gwt.AppEngineLauncher -war E:\java\mahlzeit-web\mahlzeit-web\war com.mahlzeit.web.Mahlzeit_web_server

此处使用SSL

  

-superDevMode -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -startupUrl index.html -logLevel INFO -codeServerPort 9997 -port 8888 -server com.google.appengine.tools.development.gwt.AppEngineLauncher -war E:\java\mahlzeit-web\mahlzeit-web\war com.mahlzeit.web.Mahlzeit_web_server -server :ssl com.mahlzeit.web.Mahlzeit_web_server

如果我使用SSL运行 ,我收到以下错误:

org.hibernate.HibernateException: Could not instantiate dialect class
    at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.constructDialect(DialectFactoryImpl.java:82)
    at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:64)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:148)
    ...
Caused by: java.lang.ClassCastException: org.hibernate.dialect.MySQLDialect cannot be cast to org.hibernate.dialect.Dialect
    at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.constructDialect(DialectFactoryImpl.java:73)
    ... 33 more

我真的不知道这个如何与SSL有关,但是你去了......我期待着开悟......

1 个答案:

答案 0 :(得分:0)

当您使用-server :ssl时,您不再使用AppEngineLauncher,因此类加载不同;使用类路径的父类加载器(AppEngine 使用WEB-INF/{classes,lib});这是导致ClassCastException

的原因

尝试从DevMode类路径中删除服务器依赖项作为起点;只留在WEB-INF/lib