Itz*_*ili 3 java hibernate jax-rs maven
在我的jax-rs上使用hibernate我收到此错误:
HTTP错误500
访问/ services/datesTest时遇到问题.原因:
Run Code Online (Sandbox Code Playgroud)Server Error Caused by:
connector.Connector.getSessionFactory(Connector.java:37)上的connectors.Connector.getSessionFactory(Connector.java:37)中的连接器.Connector.getSession(Connector.java:37)位于mainproject.services.HibernateDatesTest的连接器上的java.lang.ExceptionInInitializerError .verifyToken(HibernateDatesTest.java:24)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43 )在com.sun.jersey.server.impl的com.sun.jersey.spi.container.JavaMethodInvokerFactory $ 1.invoke(JavaMethodInvokerFactory.java:60)的java.lang.reflect.Method.invoke(Method.java:606) .model.method.dispatch.AbstractResourceMethodDispatchProvider $ TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)at com.sun .jersey.serve 在com.sun.jersey的com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)上的r.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288). server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)位于com.sun.jersey的com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84). server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469)位于com.sun.jersey.server.impl的com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400). application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349),位于com.sun.jersey.spi.container.servlet.WebComponent的com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339).服务(WebComponent.java:416)com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)at com.sun.jersey.spi.container.servlet.ServletC ontainer.service(ServletContainer.java:699)位于org.eclipse的org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565)的javax.servlet.http.HttpServlet.service(HttpServlet.java:820) .jetty.servlet.ServletHandler.doHandle(ServletHandler.java:479)在org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)在org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler .java:521)org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)位于org的org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031). eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)位于org.eclipse.jetty.server.hand.ContextHandler的org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186). dogcope(ContextHandler.java:965)atg.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)org.eclipse.jet.Server.handle(Server.java:349)org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:449)org.eclipse.jetty.server.AbstractHttpConnection $ RequestHandler .headerComplete(AbstractHttpConnection.java:910)在org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)在org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)在有机在org.eclipse.jetty.io.nle.SelectChannelEndPoint $ 1的org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:609)的eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:76) .RUN(SelectChannelEndPoint.java:45)在org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)在org.eclipse.jetty.util.thread.QueuedThreadPool $ 3.run(QueuedThreadPool.java: 534)at java.lang.Thread.run(Thread.java:744)引起:java.lang.NoSuchMethodError:org.hibernate.integrator.internal.IntegratorServiceImpl.(Ljava/util/LinkedHashSe)t; Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;)V org.hibernate.boot.registry.BootstrapServiceRegistryBuilder.build(BootstrapServiceRegistryBuilder.java:247)at org.hibernate.boot.registry.StandardServiceRegistryBuilder.(StandardServiceRegistryBuilder .java:73)在connectors.Connector.buildSessionFactory(Connector.java:21)... 44更多引起:
.java.lang.NoSuchMethodError:org.hibernate.integrator.internal.IntegratorServiceImpl(Ljava/UTIL/LinkedHashSet; Lorg /休眠/引导/注册表/类装入/ SPI/ClassLoaderService)在org.hibernate.boot.registry.BootstrapServiceRegistryBuilder诉org.hibernate.boot.registry.StandardServiceRegistryBuilder中构建(BootstrapServiceRegistryBuilder.java:247).在connectors.Connector.getSessionFactory(Connector.java:21)上的connectors.Connector.buildSessionFactory(Connector.java:21). 37)在sun.reflect.NativeMethodAccessorImpl.invoke的sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)的mainproject.services.HibernateDatesTest.verifyToken(HibernateDatesTest.java:24)的connectors.Connector.getSession(Connector.java:45)处. (NativeMethodAccessorImpl.java:57)位于com.sun.jersey.spi.container的java.lang.reflect.Method.invoke(Method.java:606)的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43). JavaMethodInvokerFactory $ 1.in voke(JavaMethodInvokerFactory.java:60)at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider $ TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)at com.sun.jersey.server.impl.model.在com.sun.jersey.server.impl的com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)上的method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75). uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)位于com.sun.jersey.server.impl的com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147). uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)位于com.sun.jersey.server.impl.application的com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469). WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400)at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebA pplicationImpl.java:1349)com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java: 416)at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:699)at javax .servlet.http.HttpServlet.service(HttpServlet.java:820)atg.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565)org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java) :479)org.eclipse.jetty上的org.eclipse.jetty.SecurityHandler.handle(SecurityHandler.java:521)的org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119). server.session.SessionHandler.doHandle(SessionHandler.java:227)位于org.eclipse.jetty.servlet.servlet.servlet.ServletHandler.doScope的org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)rvletHandler.java:406)org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)at org位于org.eclipse.jetty.server.Server的org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)的.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) .handle(Server.java:349)在org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:449)在org.eclipse.jetty.server.AbstractHttpConnection $ RequestHandler.headerComplete(AbstractHttpConnection.java:910)在org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)在org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)在org.eclipse.jetty.server.AsyncHttpConnection.handle( AsyncHttpConnection.java:76)atg.eclipse.jetty.io.nle.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:609)org.eclipse.jetty.io.nio.SelectChannelEndPoint $ 1.run(Sele)ctChannelEndPoint.java:45)atg.eclipse.jet.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)at org.eclipse.jetty.util.thread.QueuedThreadPool $ 3.run(QueuedThreadPool.java:534)at at java.lang.Thread.run(Thread.java:744)由Jetty提供支持://
我的会话构建器类:
package connectors;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
public class Connector {
private static SessionFactory sessionFactory;
private static SessionFactory buildSessionFactory() {
try {
// Create the SessionFactory from hibernate.cfg.xml
Configuration configuration = new Configuration();
configuration.configure("hibernate.cfg.xml");
System.out.println("Hibernate Configuration loaded");
//apply configuration property settings to StandardServiceRegistryBuilder
StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());
System.out.println("Hibernate serviceRegistry created");
SessionFactory sessionFactory = configuration.buildSessionFactory(ssrb.build());
return sessionFactory;
}
catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
if(sessionFactory == null) sessionFactory = buildSessionFactory();
return sessionFactory;
}
public static Session getSession(){
return getSessionFactory().openSession();
}
}
Run Code Online (Sandbox Code Playgroud)
我的Pom.xml:
http://maven.apache.org/xsd/maven-4.0.0.xsd"> resueue-ws serverside 1.0 4.0.0
Run Code Online (Sandbox Code Playgroud)<artifactId>resqueue-mainproj</artifactId> <dependencies> <!-- our projects --> <dependency> <groupId>serverside</groupId> <artifactId>resqueue-dal</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>serverside</groupId> <artifactId>resqueue-srdlib</artifactId> <version>1.0</version> </dependency> <!-- Jetty --> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> <version>7.6.0.v20120127</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-webapp</artifactId> <version>7.6.0.v20120127</version> </dependency> <!-- Nimbus --> <dependency> <groupId>com.nimbusds</groupId> <artifactId>nimbus-jose-jwt</artifactId> <version>2.9</version> </dependency> <!-- Jersey --> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifactId> <version>1.8</version> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-json</artifactId> <version>1.8</version> </dependency> <!-- jUnit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> <!--org.apache.http --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.3.2</version> </dependency> <!-- JSON LIB -> added for testing only --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.2.4</version> </dependency> <!-- Hibernate --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.30</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.3.6.Final</version> </dependency> <!-- for JPA, use hibernate-entitymanager instead of hibernate-core --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>4.3.6.Final</version> </dependency>
我清理了所有其他版本的maven repo.有任何想法吗?
确保从类路径中删除了所有以前版本的Hibernate.
在github上查看它,我不明白为什么会出现这种情况,除非你遇到版本冲突引起的类加载器问题,因为IntegratorServiceImpl
你正在/正在使用的两个版本中都存在,这表明我遇到了类加载器问题
归档时间: |
|
查看次数: |
5736 次 |
最近记录: |