我来这里是因为我对 talend DI V8 中的某个组件有疑问。 我最近将本地 talend v7 升级到 talend 8,并且必须将旧作业迁移到新版本中(因为我使用新的数据库...)
因此,当我在 Talend 7 中启动工作时,我成功连接到 SQL Server DB 并且我的工作正常运行。
但是当我尝试在 talend 8 中启动我的工作时,我得到了这个:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:4098)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3160)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:43)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3123)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7505)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2445)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1981)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
at interfaces...
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 19 more
在启动我的工作之前,我必须为我的组件 tDBConnection 搜索并集成我的 ssql 驱动程序:sqljdbc41-6.0.8112.jar
您认为这是驱动程序问题吗?或者我必须更改 POM 文件和/或依赖项中的某些内容?
提前感谢您的建议
我尝试带其他司机,但这并不能解决我看来的问题。 我想也许可以更改我的 POM 文件中的某些内容。
Talend 8 支持并推荐 Java 11,并在文档中说明了注意事项。从 Java 11 开始删除了
javax.xml.bind
模块。
您必须手动将其添加为 POM 中的依赖项。
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>