Now Tacokit component dependencies are included in classpath option of JVM.
However, Tacokit component dependencies are loaded dynamically by custom classloader during runtime and should not be present in classpath option.
Component dependencies are retrieved from IComponent.getModulesNeeded() method. The result is used for both: to compute classpath and package dependencies in Job assembly.
This should be splitted.
I suggest to add IComponent.getClasspath() method which will be used to compute classpath only.
(Alternatively, we may add separate interface with getClasspath() method)
Please, refer to my POC:
Some details may be found in https://jira.talendforge.org/browse/TUP-21740
- prerequisite of
TUP-21740 Change dependencies packaging in exported job from lib to .m2