在 Talend 中导入外部 jar
Importing external jar in Talend
谁能帮我解决这个问题。我已经成功安装了 Talend studio (Talend Data Fabric 7.3.1)。但是当我尝试使用 tDBInput 组件连接到 Azure SQL 数据库时,它向我显示了一个错误,即缺少 jar“mssql-jdbc.jar”。由于下载按钮被禁用。
请看下面显示下载按钮被禁用的快照
screenshot showing download buttion in component is disabled
我手动下载了 jar“mssql-jdbc-8.4.0.jre11”并将其指向该组件。当我执行我的 Talend 作业时,它显示了以下错误
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/jdbc/SQLServerDriver has been compiled by a more recent version of the Java Runtime (class file version 59.0), this version of the Java Runtime only recognizes class file versions up to 55.0
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)
at java.base/java.lang.Class.forName(Class.java:315)
at psc_co_biopharm.test_job_0_1.Test_job.tDBInput_2Process(Test_job.java:727)
at psc_co_biopharm.test_job_0_1.Test_job.runJobInTOS(Test_job.java:1458)
at psc_co_biopharm.test_job_0_1.Test_job.main(Test_job.java:1240)
所以,我尝试了一个变通办法。使用 tlibraryload 组件导入 jar“mssql-jdbc-8.2.1jre11”。它有效,我能够查询 Azure SQL 数据库。
但是使用 tlibraryload 并不是最好的做法,有人可以告诉我如何将这个版本的 jar“mssql-jdbc-8.2.1jre11”直接指向组件。
我尝试通过 windows->show_view->Modules 加载这个 jre。但它显示“此模块已使用 maven URI 安装”
请帮助我并建议如何将此版本的 jar“mssql-jdbc-8.2.1jre11”直接指向组件。
我发布了这个问题的答案,所以这对以后的人有帮助。我犯的错误是,首先我应该下载“mssql-jdbc-8.2.1jre11”jar 并将其指向组件,而不是我下载了“mssql-jdbc -9.1jre”并指向该组件。这是一个可怕的错误。
确保您正在下载与您的 jdk 兼容的正确版本的 jar。对我来说,jdk 版本是 11,所以我应该首先下载“mssql-jdbc-8.2.1jre11”jar。
由于我已经下载了不同版本的 jar 并首先指向该组件,因此它不接受我现在指向的正确版本的 jar“mssql-jdbc-8.2.1jre11”。我们应该从以下文件夹中删除旧的 jar,然后我们应该尝试导入正确版本的 jar。它会起作用。它对我来说效果很好。
我们应该从我们系统的以下文件夹中删除旧的 jar
Windows(c)->Talend_Studio->配置->.m2->存储库->org->Talend->库
在这个库文件夹下,对于我来说,我应该找到文件夹 MySQL 目录并将其删除。
然后我尝试通过 windows->show_view->Modules 导入 jar,它起作用了。 :-)
希望这对某人有用。
请确保,
- java JDK 要求和与 Talend Studio 的版本兼容性并在 cmd
中检查版本 java -version
- 由于其 Maven 存储库所需的支持库 (Archive Jar) 在构建工作区并清理项目时下载
- java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/jdbc/SQLServerDriver mssql异常版本不匹配-jdbc.jar
- 检查已安装的 maven 存储库:Windows > 首选项 > Maven > 用户设置 > 本地存储库以及系统中是否安装了 maven \Maven\apache-maven-3.0.3\conf\setting.xml Dir 所有库下载路径
- 从 .m2->repository->org->Talend->Libraries -> mssql-jdbc(6.0.0)
中删除/删除 jar
- 清理工作区确保删除旧版本的存档文件
- 如果在系统中配置了 maven URI,则构建工作区它将自动下载支持 lib 或
的当前版本
- 手动导入归档文件windows->show_view->模块
- 重启工作室
希望这是有用的。 !
谁能帮我解决这个问题。我已经成功安装了 Talend studio (Talend Data Fabric 7.3.1)。但是当我尝试使用 tDBInput 组件连接到 Azure SQL 数据库时,它向我显示了一个错误,即缺少 jar“mssql-jdbc.jar”。由于下载按钮被禁用。
请看下面显示下载按钮被禁用的快照
screenshot showing download buttion in component is disabled
我手动下载了 jar“mssql-jdbc-8.4.0.jre11”并将其指向该组件。当我执行我的 Talend 作业时,它显示了以下错误
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/jdbc/SQLServerDriver has been compiled by a more recent version of the Java Runtime (class file version 59.0), this version of the Java Runtime only recognizes class file versions up to 55.0
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)
at java.base/java.lang.Class.forName(Class.java:315)
at psc_co_biopharm.test_job_0_1.Test_job.tDBInput_2Process(Test_job.java:727)
at psc_co_biopharm.test_job_0_1.Test_job.runJobInTOS(Test_job.java:1458)
at psc_co_biopharm.test_job_0_1.Test_job.main(Test_job.java:1240)
所以,我尝试了一个变通办法。使用 tlibraryload 组件导入 jar“mssql-jdbc-8.2.1jre11”。它有效,我能够查询 Azure SQL 数据库。
但是使用 tlibraryload 并不是最好的做法,有人可以告诉我如何将这个版本的 jar“mssql-jdbc-8.2.1jre11”直接指向组件。
我尝试通过 windows->show_view->Modules 加载这个 jre。但它显示“此模块已使用 maven URI 安装”
请帮助我并建议如何将此版本的 jar“mssql-jdbc-8.2.1jre11”直接指向组件。
我发布了这个问题的答案,所以这对以后的人有帮助。我犯的错误是,首先我应该下载“mssql-jdbc-8.2.1jre11”jar 并将其指向组件,而不是我下载了“mssql-jdbc -9.1jre”并指向该组件。这是一个可怕的错误。
确保您正在下载与您的 jdk 兼容的正确版本的 jar。对我来说,jdk 版本是 11,所以我应该首先下载“mssql-jdbc-8.2.1jre11”jar。
由于我已经下载了不同版本的 jar 并首先指向该组件,因此它不接受我现在指向的正确版本的 jar“mssql-jdbc-8.2.1jre11”。我们应该从以下文件夹中删除旧的 jar,然后我们应该尝试导入正确版本的 jar。它会起作用。它对我来说效果很好。
我们应该从我们系统的以下文件夹中删除旧的 jar
Windows(c)->Talend_Studio->配置->.m2->存储库->org->Talend->库
在这个库文件夹下,对于我来说,我应该找到文件夹 MySQL 目录并将其删除。
然后我尝试通过 windows->show_view->Modules 导入 jar,它起作用了。 :-)
希望这对某人有用。
请确保,
- java JDK 要求和与 Talend Studio 的版本兼容性并在 cmd 中检查版本 java -version
- 由于其 Maven 存储库所需的支持库 (Archive Jar) 在构建工作区并清理项目时下载
- java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/jdbc/SQLServerDriver mssql异常版本不匹配-jdbc.jar
- 检查已安装的 maven 存储库:Windows > 首选项 > Maven > 用户设置 > 本地存储库以及系统中是否安装了 maven \Maven\apache-maven-3.0.3\conf\setting.xml Dir 所有库下载路径
- 从 .m2->repository->org->Talend->Libraries -> mssql-jdbc(6.0.0) 中删除/删除 jar
- 清理工作区确保删除旧版本的存档文件
- 如果在系统中配置了 maven URI,则构建工作区它将自动下载支持 lib 或 的当前版本
- 手动导入归档文件windows->show_view->模块
- 重启工作室
希望这是有用的。 !