Is there already a working method to use external libraries? tLibraryLoad and routine dependencies are definitely tip-top solutions which cannot be applied in real word scenario. How do you manage (sub) dependencies? Have tried to edit Project Properties > Maven > Default > Project, in vain
I can't believe such an issue is neglected.
Can you elaborate on your exact problem? I've been using Talend for a number of years, have not experienced issues making use of the supplied functionality and I have used a lot of third party Jars. Of course, I am fully open to the possibility that I have not come across the issue you are experiencing, but maybe I can give you some advice?
Thank you @rhall_2_0 for coming to this thread.
My problem is the inability to manage module dependencies. There is a frequent situation when you need to include external tools, most of the times this involves a lot of sub-dependencies (jars). For instance, how would you use https://jersey.github.io/ in your both routines and jobs? Simply adding
<dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> <version>2.25.1</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>2.25.1</version> </dependency>
in project properties dos not suffice. The jars from maven repository are not being automatically included.
Sorry about the delay in getting back to you. I see your issue. Providing dependencies like this would be a nice feature. I will investigate to see if this has been raised previously. In the meantime, a method that helps with this can be seen below. It is not as elegant as the method you are looking for, but does work.
Hi @rhall_2_0 ,
Thank you for your suggestion but as I have already mentioned in the post, I don't find adding jars manually to be an applicable solution. Turns out there is a Jira ticket for this dated back to 2017 here but I am not sure I understand the current status of this issue.
Meanwhile, waiting for the magic to happen
I wanted to second to the poster's concern.
Maven provides all the trimmings of a modern workflow, A Talend project should be a standard maven project, and should build using the standard maven workflow. You should be able to add cross project routines, and dependencies for project routines, by adding a maven dependency. In fact, there is no legitimate reason components shouldn't be managed as a maven dependencies, as they are necessary to start a build.
This is a core level concern, and should be part of maintaining a "relatively" modern tool set. (not that modern either, just to help clarify how core this really is). It's part of what any developer is looking at when considering what ecosystem will be most productive and robust.
A developer shouldn't need to configure or determine a directory a dependency is placed in, or reference specific files in a dependency, such as jars. A developer shouldn't even need to answer which repository contains a given dependency, assuming their maven config is correct. Simply adding the maven coordinates in the project should set the rest in motion. When a build happens, dependencies are checked, are retrieved via maven if missing, and then the build begins. This is the standard Java Maven workflow. All of it core developer level concerns, not concerns existing only when working in an enterprise.
I understand your concerns and have spoken to R&D about this issue. Talend produce a suite of products covering data integration, data prep, data maintenance, data quality, data management, big data, application integration, cloud integration, etc. It is aimed at users who specialise in those domains. While many of the products generate Java code and allow users to incorporate third party libraries, the priority for R&D has always been to advance in the domains listed above and not necessarily focus on Java IDE functionality. The functionality provided around third party libraries allows users to do what they need to do, but I agree it could be made much easier.
I have raised a Jira with R&D which can be found here: https://jira.talendforge.org/browse/TUP-23345
Please feel free to vote for this feature request (and invite your colleagues to do so as well).
Nobody is expecting Talend to innovate on the java compiler or build process, let me re-iterate this, we are not asking for anything more than basic core functionality necessary to complete any task without unexpected or excessive cost.
While Talend might offer solutions geared at dealing with domain specific problems, the goal is to integrate those solutions within a larger business. It simply makes sense that a value-add would be an enterprise product to help an operations team do that effectively at scale. However we're not talking value added features, or even a paid pathway to complete a specific difficult problem, we're talking about reasonably being able to use any talend created solution in a way that any business or development eco-system will require.
Any business will have existing libraries, and solving any one of those said domains might require including them in a project, 5 years ago, I could seriously understand that business priorities made updating the core difficult, today there is simply no excuse, and deploying solutions on the Talend platform has costs beyond what else is available. Had I known in advance that the Talend ecosystem had no interest in ensuring its platform meets near-future minimum core requirements, I wouldn't have ever chose it.
There is a Jira raised here (https://jira.talendforge.org/browse/TUP-23345?_ga=2.158258930.913884343.1571673023-56006888.15470698...) about this feature request. If you would like to add your comments to the Jira, you should be able to sign in using your Community credentials. The more activity this Jira sees, the more likely it is to be considered
Talend named a Leader.
Kickstart your first data integration and ETL projects.
Look at6 ways to start utilizing Machine Learning with Amazon We Services and Talend
Test drive Talend's enterprise products.