Talend DI V8:线程“主”java.lang.NoClassDefFoundError 中出现异常:javax/xml/bind/DatatypeConverter

问题描述 投票:0回答:1

我来这里是因为我对 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 文件中的某些内容。

java sql-server driver pom.xml talend
1个回答
0
投票

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>
© www.soinside.com 2019 - 2024. All rights reserved.