Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

NoClassDefFoundError in custom component run on jobserver

Hi!

I am developing a custom component with the Talend Component Kit 1.1.15, to be used in a Talend 7.1.1 environment. This component uses the AWS Java SDK 2.9.14 external library to perform some operations. The component works fine when run on Talend Studio on my local machine, but fails when executed remotely on a Jobserver, and displays the following error:

java.lang.IllegalStateException: java.lang.NoClassDefFoundError: software/amazon/awssdk/services/emr/EmrClient

Which seems to indicate that the AWS SDK external library is not found, since EmrClient is a class of such library.

 

How can I solve this issue? Do I have to install something on the Jobserver? In the component kit documentation I could not find anything related to TAC / jobserver deployment with custom components.

Labels (3)
4 Replies
Anonymous
Not applicable
Author

Hello,

The recommended framework version to use to develop components for the current releases of Talend Studio applications V 7.1.1 is Talend Component Kit 1.1.

In addition to that, could you check your dependencies and ensure you have all your required dependencies in compile scope? It seems that you have a missing dependency in your project.

Best regards

Sabrina

 

 

Anonymous
Not applicable
Author

Hello Sabrina,

you mean Talend Component Kit 1.1.0? I tried this version but I still get the same error.

In my IntelliJ java project (i.e. the one in which I am developing the custom component) I have added the following dependency in the POM:

    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>emr</artifactId>
      <version>2.9.14</version>
    </dependency>

Do I also have to add a dependency on Talend Studio? Or in the Nexus artifact repository?

As I stated before, the component works fine when launched from Talend Studio in my local machine, but fails only when launched on a Jobserver (launched either from the TAC job conductor or from Talend Studio's run section targetting the jobserver).

 

Thank you

Anonymous
Not applicable
Author

Hello,

The version of Talend Component Kit you need to use to develop new components depends on the versions of the Talend applications in which these components will be integrated.

Talend product Talend Component Kit version

Talend Studio 7.2.1 M3

Framework until 1.1.4

Talend Studio 7.1.1

Framework until 1.1.1

Talend Studio 7.0.1

Framework until 0.0.5

Talend Cloud

Framework from 1.1.x

More recent versions of Talend Component Kit contain many fixes, improvements and features that help developing your components. However, they can cause some compatibility issues when deploying these components to older/different versions of Talend Studio and Talend Cloud. Choose the version of Talend Component Kit that best fits your needs.

 

Have you already check the configuration on the TAC navigating to command line and making sure it is pointing to the folder the custom component is on? Make sure you copy the entire custom component folder to that directory.

0683p000009M8kJ.png

Best regards

Sabrina

 

Anonymous
Not applicable
Author

Hello Sabrina,

So is the command line procedure required even for Talend 7.1? I thought it was deprecated. I probably do not have it even installed.