Skip to main content
Announcements
A fresh, new look for the Data Integration & Quality forums and navigation! Read more about what's changed.
cancel
Showing results for 
Search instead for 
Did you mean: 
RLai
Contributor II

NoClassDefFoundError: org/apache/poi/xssf/usermodel/XSSFWorkbook

Hi all,

 

I have a job using the exchange components tFileExcelWorkbookOpen and tFileExcelSheetInput, however I am running into the following error when the job reaches these components:

 

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/xssf/usermodel/XSSFWorkbook
	at vendor_etl.bps_stageload_0_11.BPS_stageLoad.tFileList_1Process(BPS_stageLoad.java:989)
	at vendor_etl.bps_stageload_0_11.BPS_stageLoad.runJobInTOS(BPS_stageLoad.java:2028)
	at vendor_etl.bps_stageload_0_11.BPS_stageLoad.main(BPS_stageLoad.java:1668)
Caused by: java.lang.ClassNotFoundException: org.apache.poi.xssf.usermodel.XSSFWorkbook
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	... 3 more
[statistics] disconnected

I have the jar files installed in their respective directories in Talend\7.2.1\studio\configuration\.m2\repository\org\talend\libraries and the studio is recognizing the jar files. 

 

0683p000009M8s8.png

Is there a solution to this?

 

Labels (3)
1 Solution

Accepted Solutions
RLai
Contributor II
Author

For anyone following, this was most likely caused by different versions of some the jar files.. I found 3.15 and 3.17 versions of the poi, poi-ooxml and poi-ooxml-schemas jars. Rather than look for all jar files with different versions, I backed up / deleted my .m2 and plugins folders and asked a coworker who has not experienced this issue to copy those folders for me to replace since we have worked on the same projects. I can now run jobs using the exchange excel components.

View solution in original post

3 Replies
nivedhitha
Creator III

@RLai ,

 

To include these JARs in the build, you can simply try dragging an excel component(that comes with talend) at the beginning of your job and just deactivate it.

This way the jars become available and the job should run fine

 

RLai
Contributor II
Author

@nivedhitha,

 

I tried creating a new test job with a deactivated standard talend excel component, but I am still running into the same error. When I have both the standard and custom components enabled, I get the following error: 

 

Exception in thread "main" java.lang.IncompatibleClassChangeError: Found class org.apache.poi.util.POILogger, but interface was expected
	at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.parseRelationshipsPart(PackageRelationshipCollection.java:303)
	at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.<init>(PackageRelationshipCollection.java:163)
	at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.<init>(PackageRelationshipCollection.java:133)
	at org.apache.poi.openxml4j.opc.PackagePart.loadRelationships(PackagePart.java:570)
	at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:728)
	at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:237)
	at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:166)
	at org.apache.poi.ooxml.POIXMLDocument.openPackage(POIXMLDocument.java:89)
	at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:336)
	at vendor_etl.excel_testing_0_1.excel_testing.tFileList_1Process(excel_testing.java:1891)
	at vendor_etl.excel_testing_0_1.excel_testing.tPrejob_1Process(excel_testing.java:1332)
	at vendor_etl.excel_testing_0_1.excel_testing.runJobInTOS(excel_testing.java:2772)
	at vendor_etl.excel_testing_0_1.excel_testing.main(excel_testing.java:2583)

0683p000009M8t1.png

 

The subjob using the standard Talend excel component does not fail when the subjob using the custom excel components are disabled


Custom excel components disabled.PNG
RLai
Contributor II
Author

For anyone following, this was most likely caused by different versions of some the jar files.. I found 3.15 and 3.17 versions of the poi, poi-ooxml and poi-ooxml-schemas jars. Rather than look for all jar files with different versions, I backed up / deleted my .m2 and plugins folders and asked a coworker who has not experienced this issue to copy those folders for me to replace since we have worked on the same projects. I can now run jobs using the exchange excel components.