一、启动异常org.apache.seatunnel.api.sink.SchemaSaveMode not found
在摆设过程中严格安装官方的文档操作,web服务启动时报错无法运行
1、java.lang.ClassNotFoundException: org.apache.seatunnel.api.sink.SchemaSaveMode
下载seatunnel 文本官方提供的安装包seaTunnel下载地址,我下载的是官方最新版1.0.1,按官方要求,将hazelcast-client.yaml、plugin-mapping.properties设置文件移入conf文件夹下,自行下载数据源包放入libs目次,使用启动命令启动web服务,启动报错
- ./bin/seatunnel-backend-daemon.sh start
复制代码 错误如下:
- Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.seatunnel.app.bean.connector.ConnectorCache]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/seatunnel/api/sink/SchemaSaveMode
- at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:224)
- ...
- Caused by: java.lang.NoClassDefFoundError: org/apache/seatunnel/api/sink/SchemaSaveMode
- at org.apache.seatunnel.connectors.doris.config.DorisOptions.<clinit>(DorisOptions.java:204)
- at org.apache.seatunnel.connectors.doris.sink.DorisSinkFactory.optionRule(DorisSinkFactory.java:57)
- at org.apache.seatunnel.api.table.factory.FactoryUtil.sinkFullOptionRule(FactoryUtil.java:282)
- at org.apache.seatunnel.plugin.discovery.AbstractPluginDiscovery.lambda$getAllPlugin$5(AbstractPluginDiscovery.java:273)
- at java.lang.Iterable.forEach(Iterable.java:75)
- at org.apache.seatunnel.plugin.discovery.AbstractPluginDiscovery.getAllPlugin(AbstractPluginDiscovery.java:248)
- at org.apache.seatunnel.app.thirdparty.framework.PluginDiscoveryUtil.getAllConnectors(PluginDiscoveryUtil.java:126)
- ...
- Caused by: java.lang.ClassNotFoundException: org.apache.seatunnel.api.sink.SchemaSaveMode
- at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
- ... 33 common frames omitted
复制代码 重点错误:
- Caused by: java.lang.NoClassDefFoundError: org/apache/seatunnel/api/sink/SchemaSaveMode
复制代码 根据错误路径,找到
重点来了
位于seatunnel-api-2.3.3.jar中,反编译后发现包内缺失没有org/apache/seatunnel/api/sink/SchemaSaveMode类,发现1.0.1版本中用的2.3.5版本的Seatunnel,但这里使用的是seatunnel-api.2.3.3.jar,所以推测是版本不符导致,从maven下载seatunnel-api.2.3.5.jar包,并进行反编译检查,果然存在
解决版本:
下载seatunnel-api.2.3.5.jar,替换libs下的seatunnel-api.2.3.3.jar,重新启动服务,服务正常。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |