如何解决运行 Spring 测试时“加载工厂 org.apache.calcite.jdbc.CalciteJdbc41Factory 时出错”
当我运行遗留 Java 应用程序的 Spring 集成测试时,我收到此错误:
Apr 14,2021 9:59:44 AM org.apache.calcite.avatica.UnregisteredDriver handle
SEVERE: Error loading factory org.apache.calcite.jdbc.CalciteJdbc41Factory
java.lang.StackOverflowError
at java.base/java.lang.classLoader.defineClass1(Native Method)
at java.base/java.lang.classLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClasspathOrNull(BuiltinClassLoader.java:698)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.classLoader.loadClass(ClassLoader.java:522)
at java.base/java.lang.classLoader.defineClass1(Native Method)
at java.base/java.lang.classLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClasspathOrNull(BuiltinClassLoader.java:698)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.classLoader.loadClass(ClassLoader.java:522)
at java.base/java.lang.class.forName0(Native Method)
...
java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:780)
at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:722)
at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1395)
at java.sql/java.sql.DriverManager$2.run(DriverManager.java:614)
at java.sql/java.sql.DriverManager$2.run(DriverManager.java:594)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.sql/java.sql.DriverManager.ensureDriversInitialized(DriverManager.java:594)
at java.sql/java.sql.DriverManager.getDrivers(DriverManager.java:424)
at com.sybase.jdbc4.jdbc.SybDriver.registerWithDriverManager(SybDriver.java:711)
at com.sybase.jdbc4.jdbc.SybDriver.<init>(SybDriver.java:140)
at jdk.internal.reflect.GeneratedConstructorAccessor22.newInstance(UnkNown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:780)
at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:722)
at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1395)
at java.sql/java.sql.DriverManager$2.run(DriverManager.java:614)
at java.sql/java.sql.DriverManager$2.run(DriverManager.java:594)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.sql/java.sql.DriverManager.ensureDriversInitialized(DriverManager.java:594)
at java.sql/java.sql.DriverManager.getDrivers(DriverManager.java:424)
at com.sybase.jdbc4.jdbc.SybDriver.registerWithDriverManager(SybDriver.java:711)
at com.sybase.jdbc4.jdbc.SybDriver.<init>(SybDriver.java:140)
at jdk.internal.reflect.GeneratedConstructorAccessor22.newInstance(UnkNown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:780)
at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:722)
at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1395)
at java.sql/java.sql.DriverManager$2.run(DriverManager.java:614)
at java.sql/java.sql.DriverManager$2.run(DriverManager.java:594)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.sql/java.sql.DriverManager.ensureDriversInitialized(DriverManager.java:594)
at java.sql/java.sql.DriverManager.getDrivers(DriverManager.java:424)
at com.sybase.jdbc4.jdbc.SybDriver.registerWithDriverManager(SybDriver.java:711)
at com.sybase.jdbc4.jdbc.SybDriver.<init>(SybDriver.java:140)
at jdk.internal.reflect.GeneratedConstructorAccessor22.newInstance(UnkNown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:780)
at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:722)
at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1395)
at java.sql/java.sql.DriverManager$2.run(DriverManager.java:614)
at java.sql/java.sql.DriverManager$2.run(DriverManager.java:594)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.sql/java.sql.DriverManager.ensureDriversInitialized(DriverManager.java:594)
测试成功完成,但我想摆脱这个错误。
不幸的是,我不知道从哪里开始寻找原因。你有什么提示吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。