我有一个使用SymmetricDS的Spring boot应用程序。当我想启动一个服务器和一个带有h2数据库的客户端时,两者都处于嵌入式模式。
我创建了所读取的配置文件,但是客户端抛出了以下错误:
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'postgresBulkLoaderFactory' defined in class path resource [symmetric-ext-points.xml]:
Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException:
Failed to instantiate [org.jumpmind.symmetric.ext.PostgresBulkDataLoaderFactory]:
Constructor threw exception; nested exception is java.lang.NoClassDefFoundError:
org/springframework/jdbc/support/nativejdbc/NativeJdbcExtractor在调试时,配置肯定会被读取。DB是一个H2数据库,但通过调试,它看起来像是SymmetricDS找不到H2驱动程序,它又回到了默认使用PostgreSQL.
我的gradle看起来像这样:
compile group: 'org.jumpmind.symmetric', name: 'symmetric-server', version: '3.5.19'
compile group: 'org.jumpmind.symmetric', name: 'symmetric-client', version: '3.5.19'
compile group: 'org.jumpmind.symmetric', name: 'symmetric-core', version: '3.5.19'为什么它不能使用my H2数据库?检查maven存储库内核应该有h2驱动程序,但仍然抛出错误。
发布于 2020-05-17 22:57:36
为什么你要用这么老版本的SymmetricDS?最新版本为3.11.8。
当我嵌入SymmetricDS时,我排除了可能与Spring Boot提供的依赖项相冲突的依赖项。例如:
compile ("org.jumpmind.symmetric:symmetric-server:$symmetricVersion") {
exclude group: 'org.slf4j'
exclude group: 'com.mangofactory', module: 'swagger-springmvc'
exclude group: 'org.springframework'
exclude group: 'net.java.dev.jna'
}这是在以下版本的Spring Boot和Spring中实现的:
springBootVersion=2.1.3.RELEASE
springVersion=5.1.5.RELEASE如果你感兴趣,这里有一个我们如何在Spring Boot中嵌入SymmetricDS的例子:
发布于 2020-05-16 00:29:11
类org.springframework.jdbc.support.nativejdbc.NativeJdbcExtractor不在类路径上。我建议尝试将Spring中包含此类的jar添加到依赖项列表中,例如:https://www.findjar.com/class/org/springframework/jdbc/support/nativejdbc/NativeJdbcExtractor.html
https://stackoverflow.com/questions/61823919
复制相似问题