From Thursday, July, 9, 3:00 PM Pacific,
our Community site will be in
read-only mode
through Sunday, July 12th.
Thank you for your patience.

Data service deployed in Runtime throws an 'java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver' error

Problem Description

A data service using MSSql components configured with Open source JTDS driver, runs as expected in Studio, but when deployed and run from ESB Runtime it throws the following error:

 

java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver cannot be found by projectName.serviceName_0.1.0

 

Root Cause

The JTDS driver JAR is not included in the service's published artifact.

 

Solution

By default, the JTDS driver JAR is blacklisted by Studio when building/publishing ESB artifacts. The best practice of database usage in ESB Runtime framework is to use DataSources, so that database management is handled by the Runtime.

 

However, if you still want this to be managed by the data service Job, then perform the following steps to remove JTDS from the Studio blacklist:

  1. Open the <STUDIO-HOME>\plugins\org.talend.repository_7.3.1.xxxxxxxx_xxxx.jar file.

  2. Extract the osgi-exclude.properties file from the resources folder.

    osgi-exclude.properties.jpg

     

  3. Edit the osgi-exclude.properties file and comment (or remove) the JTDS line:

    #jtds
  4. Save the file in the <STUDIO-HOME>\esb\ folder.

  5. Restart Studio.

 

Now the JTDS driver JAR is included in the service's published artifact.

Version history
Revision #:
3 of 3
Last update:
‎06-05-2020 08:51 AM
Updated by:
 
Contributors