Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Toronto Sept 9th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Custom Components (javajet) - Import Jar from Component Folder

Hello,

i found a potential bug in Talend version 7.2.1 with the classic javajet custom components (same result with TOS-ESB-7.3.1M).

Up to and including version 7.1.1, Custom Components could include JAR files in the Component folder. These were then referenced in the XML by <Import> Tags.

 

This option does not seem to work anymore in version 7.2.1.

 

Example Configuration :

<?xml version="1.0" encoding="UTF-8"?>
<COMPONENT>
...	
	</ADVANCED_PARAMETERS>
	<CODEGENERATION>
		<IMPORTS>
            <IMPORT NAME="slf4j-api-1.7.21.jar" MODULE="slf4j-api-1.7.21.jar" REQUIRED="true"/>
            <IMPORT NAME="logback-core-1.1.7" MODULE="logback-core-1.1.7.jar" REQUIRED_IF="TYPE == 'LOGBACK'"/>
            <IMPORT NAME="logback-classic-1.1.7" MODULE="logback-classic-1.1.7.jar" REQUIRED_IF="TYPE == 'LOGBACK'"/>
            <IMPORT NAME="log4j-over-slf4j-1.7.21.jar" MODULE="log4j-over-slf4j-1.7.21.jar" REQUIRED_IF="LOG4J_OVER_SLF4J_ENABLED == 'true'"/>
            <IMPORT NAME="jul-to-slf4j-1.7.21" MODULE="jul-to-slf4j-1.7.21.jar"  REQUIRED="true" />
            <IMPORT NAME="jcl-over-slf4j-1.7.21" MODULE="jcl-over-slf4j-1.7.21.jar" REQUIRED="true" />
	    <IMPORT NAME="slf4j-simple-1.7.21" MODULE="slf4j-simple-1.7.21.jar"  REQUIRED_IF="TYPE == 'SIMPLE'" />
	</IMPORTS>
	</CODEGENERATION>
	<RETURNS>
	</RETURNS>
</COMPONENT>

 

Example TOS-ESB-7.1.1:

0683p000009M7F5.png

 

Example TOS-ESB-7.1.1:

0683p000009M7FY.png

 

Component Folder (used same folder for 7.1.1 and 7.2.1):

0683p000009M7Bw.png

 

The error can also be reproduced with common Talend Exchange Components  like tFileExcel-Components 11.0 by Jan Lolling.

 

Best Regards

Uli

Labels (3)
1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

I solved the problem by checking the changes from Jan Lolling (jlolling@github) in this components.

@lliThank you very much.

 

The trick is to set a "pseudo" Maven attribute.

 

For example:

<!-- wrong -->
<IMPORT NAME="commons-pool2" MODULE="commons-pool2-2.4.2.jar" REQUIRED="true" />

<!-- right -->
<IMPORT NAME="commons-pool2" MODULE="commons-pool2-2.4.2.jar" MVN="mvn:org.talend.libraries/commons-pool2-2.4.2/20191127" REQUIRED="true"/>

View solution in original post

6 Replies
Anonymous
Not applicable
Author

Hello,

It seems V 7.2 is not list in this exchange component compatibility table.

Compatibility
  • 7.1
  • 7.0
  • 6.5
  • 6.4
  • 6.3
  • 6.2
  • 6.1

Best regards

Sabrina

Anonymous
Not applicable
Author

Hello Sabrina,

 

thanks for your reply.

Does this mean that exchange components will be not supported in Talend 7.2 and further versions?

 

Best Regards

Uli

 

Anonymous
Not applicable
Author

Hello Sabrina,

 

I think it is interesting for all developers of custom components based on the javajet engine to see if it is still supported.

Does this mean that exchange components (javajet) will be not supported in Talend 7.2 and further versions?

 

Best Regards

Uli

Anonymous
Not applicable
Author

Hello Sabrina,

 

you didn't answer my last question:

---

I think it is interesting for all developers of custom components based on the javajet engine to see if it is still supported.

Does this mean that exchange components (javajet) will be not supported in Talend 7.2 and further versions?

---

 

Best Regards

Uli

Anonymous
Not applicable
Author

I solved the problem by checking the changes from Jan Lolling (jlolling@github) in this components.

@lliThank you very much.

 

The trick is to set a "pseudo" Maven attribute.

 

For example:

<!-- wrong -->
<IMPORT NAME="commons-pool2" MODULE="commons-pool2-2.4.2.jar" REQUIRED="true" />

<!-- right -->
<IMPORT NAME="commons-pool2" MODULE="commons-pool2-2.4.2.jar" MVN="mvn:org.talend.libraries/commons-pool2-2.4.2/20191127" REQUIRED="true"/>
Anonymous
Not applicable
Author

Actually this MVN attribute is not a dummy. This is the location where the lib should be located.

My problem with it is: the studio itself put the lib at this place (without knowing this attribute) and therefor it is a bit strange the developer has to know where the lib will be copied by the studio.

I would understand if the studio would take the MVN attribute as command where to copy the lib to the maven repo or even better where to find it (with updating the maven repo with the standard maven update method).