我是Google App Engine的新手。之前我使用jsf,hibernate,java和glassfish服务器创建了一个动态Web应用程序。现在我将该应用程序结构转换为Google App引擎结构。所以现在我使用GAE和本地MySQL数据库。
我使用Runtime Target GAE Server创建了Simple Dynamic Web应用程序。我可以调用Jsf登录页面,但无法登录应用程序获取function launchTriggerEvent(event) {
var $this = $(event.target);
alert($this);
alert(event.type);// alerts "click"
$this.toggleClass('is-selected').find('i').toggleClass('is-selected');
$this.parents('.pg-features').find('ul').toggleClass('list-open');
}
var elems = document.getElementsByClassName('pg-features-trigger js-FeaturesTrigger');
Array.prototype.map.call(elems, function(el) {
el.addEventListener("click", launchTriggerEvent, false);
});
的原因。
此处的完整堆栈跟踪:
java.lang.NoClassDefFoundError: java.rmi.server.UID is a restricted class
我的HibernateSessionFactory类(我遇到错误的代码片段):
Caused by: java.lang.NoClassDefFoundError: java.rmi.server.UID is a restricted class. Please see the Google App Engine developer's guide for more details.
at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:52)
at net.sf.ehcache.Cache.<init>(Cache.java:191)
at net.sf.ehcache.config.ConfigurationHelper.createCache(ConfigurationHelper.java:291)
at net.sf.ehcache.config.ConfigurationHelper.createDefaultCache(ConfigurationHelper.java:241)
at net.sf.ehcache.CacheManager.configure(CacheManager.java:262)
at net.sf.ehcache.CacheManager.init(CacheManager.java:196)
at net.sf.ehcache.CacheManager.<init>(CacheManager.java:183)
at net.sf.ehcache.CacheManager.create(CacheManager.java:343)
at org.hibernate.cache.EhCacheProvider.start(EhCacheProvider.java:130)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:173)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1176)
at hibernate.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:31)
at hibernate.UsersDAO.login(UsersDAO.java:98)
at utils.LoginBean.loginProject(LoginBean.java:82)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
... 43 more
我无法理解我在哪里做错了。如果有任何人有相同的经验,请分享我
我在谷歌上搜索这个例外并获得了很多答案,但这个答案并不合适,因为在不同的库中获得例外。
在此先感谢并表示赞赏。
答案 0 :(得分:0)
看起来您使用的是旧版本的EhCache。
此文档http://www.ehcache.org/documentation/2.8/integrations/googleappengine.html表示您应使用2.3+版本以避免java.rmi.server.UID is a restricted class
例外。