NoClassDefFoundError in custom component run on jobserver

Highlighted
Five Stars

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.

Highlighted
Moderator

Re: NoClassDefFoundError in custom component run on jobserver

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

 

 

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Highlighted
Five Stars

Re: NoClassDefFoundError in custom component run on jobserver

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

Highlighted
Moderator

Re: NoClassDefFoundError in custom component run on jobserver

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.

1.png_20150624-1249.png

Best regards

Sabrina

 

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Highlighted
Five Stars

Re: NoClassDefFoundError in custom component run on jobserver

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.

2019 GARTNER MAGIC QUADRANT FOR DATA INTEGRATION TOOL

Talend named a Leader.

Get your copy

OPEN STUDIO FOR DATA INTEGRATION

Kickstart your first data integration and ETL projects.

Download now

6 Ways to Start Utilizing Machine Learning with Amazon We Services and Talend

Look at6 ways to start utilizing Machine Learning with Amazon We Services and Talend

Blog

Downloads and Trials

Test drive Talend's enterprise products.

Downloads