Jaspersoft Studio-net.sf.jasperreports.engine.JRException:java.lang.ClassNotFoundException:org.hibernate.cfg.Configuration

Jaspersoft Studio-net.sf.jasperreports.engine.JRException:java.lang.ClassNotFoundException:org.hibernate.cfg.Configuration,java,hibernate,jasper-reports,jaspersoft-studio,Java,Hibernate,Jasper Reports,Jaspersoft Studio,我正在使用Jaspersoft Studio 5.5.1中的数据适配器向导来设置Hibernate连接 向导要求我提供Hibernate配置(Hibernate.cfg.xml)。我的Hibernate配置在其他设置中正常运行 在向导中测试连接时,出现以下错误: net.sf.jasperreports.engine.jr异常:java.lang.ClassNotFoundException:org.hibernate.cfg.Configuration 位于net.sf.jasperrepor

我正在使用Jaspersoft Studio 5.5.1中的数据适配器向导来设置Hibernate连接

向导要求我提供Hibernate配置(
Hibernate.cfg.xml
)。我的Hibernate配置在其他设置中正常运行

在向导中测试连接时,出现以下错误:

net.sf.jasperreports.engine.jr异常:java.lang.ClassNotFoundException:org.hibernate.cfg.Configuration
位于net.sf.jasperreports.data.hibernate.HibernateDataAdapterService.contributeParameters(HibernateDataAdapterService.java:137)
位于net.sf.jasperreports.data.AbstractDataAdapterService.test(AbstractDataAdapterService.java:129)
位于com.jaspersoft.studio.data.wizard.AbstractDataAdapterWizard$3.run(AbstractDataAdapterWizard.java:163)
位于org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
原因:java.lang.ClassNotFoundException:org.hibernate.cfg.Configuration
位于org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
位于org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
位于org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
位于org.eclipse.osgi.internal.baseAdapter.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
位于java.lang.ClassLoader.loadClass(未知源)
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(未知源)
位于net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:175)
位于net.sf.jasperreports.data.hibernate.HibernateDataAdapterService.contributeParameters(HibernateDataAdapterService.java:79)
... 3个以上
向导似乎缺少Hibernate二进制文件。我的问题是,;如何正确地将这些二进制文件附加到Jaspersoft Studio的类路径

编辑

可以使用“数据库JDBC连接”选项将JAR添加到类路径:

但使用“Hibernate会话”选项不可能做到这一点:


Jaspersoft studio类路径似乎位于:

Jaspersoft Studio-5.5.1.final\features\jre.win32.win32.x86\u 64.feature\u 1.7.0.u25\jre\lib\ext

当我将Hibernate JAR复制到上面的类路径时,我在回答中发布的异常变为:

net.sf.jasperreports.engine.JRException:java.lang.reflect.InvocationTargetException
位于net.sf.jasperreports.data.hibernate.HibernateDataAdapterService.contributeParameters(HibernateDataAdapterService.java:147)
位于net.sf.jasperreports.data.AbstractDataAdapterService.test(AbstractDataAdapterService.java:129)
位于com.jaspersoft.studio.data.wizard.AbstractDataAdapterWizard$3.run(AbstractDataAdapterWizard.java:163)
位于org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
原因:java.lang.reflect.InvocationTargetException
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源)
位于java.lang.reflect.Method.invoke(未知源)
位于net.sf.jasperreports.data.hibernate.HibernateDataAdapterService.contributeParameters(HibernateDataAdapterService.java:121)
... 3个以上
原因:org.hibernate.boot.registry.classloading.spi.ClassLoadingException:无法加载类[com.microsoft.sqlserver.jdbc.SQLServerDriver]
位于org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:245)
位于org.hibernate.engine.jdbc.connections.internal.DriverManager连接ProviderImpl.LoadDriverImple(DriverManager连接ProviderImpl.java:200)
位于org.hibernate.engine.jdbc.connections.internal.DriverManager连接ProviderImpl.buildCreator(DriverManager连接ProviderImpl.java:156)
位于org.hibernate.engine.jdbc.connections.internal.DriverManager连接ProviderImpl.configure(DriverManager连接ProviderImpl.java:95)
位于org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
位于org.hibernate.engine.jdbc.internal.jdbcservicesiml.buildJdbcConnectionAccess(jdbcservicesiml.java:260)
位于org.hibernate.engine.jdbc.internal.jdbcservicesiml.configure(jdbcservicesiml.java:94)
位于org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
位于org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1928)
... 8个以上
原因:java.lang.ClassNotFoundException:无法加载请求的类:com.microsoft.sqlserver.jdbc.SQLServerDriver
位于org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.findClass(ClassLoaderServiceImpl.java:230)
位于java.lang.ClassLoader.loadClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(未知源)
在org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForNa
 <dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>5.6.0</version>
<type>jar</type>
</dependency>