如何在 Talend Open Studio 上设置类路径

How to set classpath on Talend Open Studio

我创建了一个依赖于 Apache HTTP Components 的例程,因此我下载了 jar 文件并将这些文件添加到构建路径。

我已经在 Java\Build 路径[=] 下设置了 类路径变量用户库 31=],还是不行。

我的代码编译没有任何错误,但它无法 运行,但出现以下异常:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/client/RedirectStrategy
    at routines.downloadXls.start(downloadXls.java:10)
[...]

一段Java代码如下,它运行与Eclipse:

private CloseableHttpClient createHttpClient() {
        HttpClientBuilder builder = HttpClientBuilder.create();
        httpCtx.setAttribute(HttpClientContext.COOKIE_STORE, store);
        return builder.setRedirectStrategy(LaxRedirectStrategy.INSTANCE).build();
    }

我已经看过 similar question on talend community,但对我没有帮助。

有什么建议吗?

谢谢

您需要使用 tLibraryLoad 组件(每个 jar 一个)在 Talend 作业中添加 jar。

tLibraryLoad
        |
OnSubjobOk
        |
Code using apache components

当您构建作业时,jar 将与其捆绑在一起并添加到您的类路径中(在 .bat 和 .sh 启动器中)。
我注意到您在代码中设置了一个 cookie,也许如果您提供有关您的要求的更多详细信息,我可以推荐使用专用 Talend 组件的解决方案,因为最好尽可能使用本机组件(或者您可以提出一个单独的问题)。