java 无法为 XAMPP 和 Eclipse IDE 创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/43536455/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-11-03 07:31:04  来源:igfitidea点击:

Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] for XAMPP and Eclipse IDE

javamysqlhibernatejdbcxampp

提问by Aditya Joshi

I am using XAMPP server and Eclipse IDE for running a hibernate program. But I am getting the following error:

我正在使用 XAMPP 服务器和 Eclipse IDE 来运行休眠程序。但我收到以下错误:

**Apr 21, 2017 12:46:38 PM org.hibernate.Version logVersion INFO: HHH000412: Hibernate Core {5.2.8.Final} Apr 21, 2017 12:46:38 PM org.hibernate.cfg.Environment INFO: HHH000206: hibernate.properties not found Apr 21, 2017 12:46:38 PM
org.hibernate.annotations.common.reflection.java.JavaReflectionManager INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final} Apr 21, 2017 12:46:39 PM

org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderI mpl configure WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!) Failed to create sessionFactory object.org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] Exception in thread "main" java.lang.ExceptionInInitializerError at ManageEmployee.main(ManageEmployee.java:18) Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(A bstractServiceRegistryImpl.java:271) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83) at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:418) at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:691) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:726) at ManageEmployee.main(ManageEmployee.java:15) Caused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [com.mysql.jdbc.Driver] at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:348) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.loadDriverIfPossible(DriverManagerConnectionProviderImpl.java:160) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildCreator(DriverManagerConnectionProviderImpl.java:116) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:100) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:72) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:66) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88) at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:259) ... 14 more Caused by: java.lang.ClassNotFoundException: Could not load requested class : com.mysql.jdbc.Driver at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.findClass(ClassLoaderServiceImpl.java:336) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:345) ... 26 more**

** 2017 年 4 月 21 日下午 12:46:38 org.hibernate.Version logVersion 信息:HHH000412:Hibernate Core {5.2.8.Final} 2017 年 4 月 21 日下午 12:46:38 org.hibernate.cfg.Environment INFO HHH000206:找不到 hibernate.properties 2017 年 4 月 21 日下午 12:46:38
org.hibernate.annotations.common.reflection.java.JavaReflectionManager INFO:HCANN000001:Hibernate Commons Annotations {5.0.1.Final}120:38下午 46:39

org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderI mpl configure WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!) Failed to create sessionFactory object.org.hibernate.service.spi.ServiceException: Unable创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 线程“main”中的异常 java.lang.ExceptionInInitializerError at ManageEmployee.main(ManageEmployee.java:18) 引起:org.hibernate.service。 spi.ServiceException: 无法在 org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(A bstractServiceRegistryImpl.java:271) 在 org.hibernate.service 创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 。内部的。AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(Jdbc5ServicesImpl.configure)在 org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242) 在 org.hibernate.service.inmpl.java:242) .getService(AbstractServiceRegistryImpl.java:210) 在 org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352) 在 org.hibernate.boot.model.process.spi.MetadataBuildingProcess。org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83) at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:418) 处的完整(MetadataBuildingProcess.java:111)在 org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87) 在 org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:691) 在 org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java) :726) 在 ManageEmployee.main(ManageEmployee.java:15) 引起:org.hibernate.boot.registry.classloading.spi.ClassLoadingException:无法在 org.hibernate.boot 加载类 [com.mysql.jdbc.Driver] .registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:348) 在 org.hibernate.engine.jdbc。connection.internal.DriverManagerConnectionProviderImpl.loadDriverIfPossible(DriverManagerConnectionProviderImpl.java:160) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildCreator(DriverManagerConnectionProviderImpl.java:116) at org.hibernate.connections.jinternal.java:116 DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:100) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:72) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpland.configure java:94) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242) 在 org.hibernate.service。internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) 在 org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145) 在 org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145) org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) 处的initiateService(JdbcEnvironmentInitiator.java:66) org.hibernate.boot.registry.internal.StandardServiceRegistryImpland.initiateServiceRegistryImpland.initiateService(JdbcEnvironmentInitiator.java:35) 88) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:259) ... 14 导致:java.lang.ClassNotFoundException:无法加载请求的类:com.mysql.jdbc.Driver 在 org .休眠。boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.findClass(ClassLoaderServiceImpl.java:336) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357)在 java.lang.Class.forName0(Native Method) 在 java.lang.Class.forName(Class.java:348) 在 org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:345) ……还有 26 个**hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:345) ... 26 更多**hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:345) ... 26 更多**

Need to know the root cause of this error or possible reasons for this error.

需要知道此错误的根本原因或此错误的可能原因。

回答by N00b Pr0grammer

The issue is under two folds of stack-trace, looks like your MySQL Connector/J driver jar is not available on Classpath.

问题出在堆栈跟踪的两层之下,看起来您的 MySQL Connector/J 驱动程序 jar 在 Classpath 上不可用。

Caused by: java.lang.ClassNotFoundException: Could not load requested class : com.mysql.jdbc.Driver

引起:java.lang.ClassNotFoundException:无法加载请求的类:com.mysql.jdbc.Driver

Place the required JAR file in the CLASSPATHand retry, issue should be fixed. Adding the jar to CLASSPATH should resolve the issue.

将所需的 JAR 文件放在CLASSPATH 中并重试,问题应该得到解决。将 jar 添加到 CLASSPATH 应该可以解决问题。

If you are using maven, then make sure that you add the necessary dependency in your pom.xmlfile.

如果您使用的是maven,请确保在pom.xml文件中添加必要的依赖项。