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

Announcements
See why IDC MarketScape names Qlik a 2025 Leader! Read more

Qlik Talend ESB: Cannot deploy Route to Talend Runtime "Unable to resolve , missing requirement caused by child bundle could not be resolved"

No ratings
cancel
Showing results for 
Search instead for 
Did you mean: 
wei_guo
Support
Support

Qlik Talend ESB: Cannot deploy Route to Talend Runtime "Unable to resolve , missing requirement caused by child bundle could not be resolved"

Last Update:

Dec 2, 2024 2:51:04 AM

Updated By:

Shicong_Hong

Created date:

Dec 2, 2024 7:56:06 AM

Route(OSGI-based) service design facing child Job bundle jar (child bundle was introduced by cTalendJob in Route design), encounters the error "Unable to resolve root : missing requirement" after being deployed to Runtime. However, Route runs smoothly in Studio debug run mode.

The Runtime logs provide insightful error messages as detailed below:

org.apache.felix.resolver.reason.ReasonException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=TestBasicRoute-feature; type=karaf.feature; version="[0.1.0,0.1.0]"; filter:="(&(osgi.identity=TestBasicRoute-feature)(type=karaf.feature)(version>=0.1.0)(version<=0.1.0))" [caused by: Unable to resolve TestBasicRoute-feature/0.1.0: missing requirement [TestBasicRoute-feature/0.1.0] osgi.identity; osgi.identity=org.example.route.TestBasic; type=osgi.bundle; version="[0.1.0,0.1.0]"; resolution:=mandatory [caused by: Unable to resolve org.example.route.TestBasic/0.1.0: missing requirement [org.example.route.TestBasic/0.1.0] osgi.wiring.package; filter:="(osgi.wiring.package=@BundleConfigImportPackage@)"]]

at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.400.jar:?]

Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve TestBasicRoute-feature/0.1.0: missing requirement [TestBasicRoute-feature/0.1.0] osgi.identity; osgi.identity=org.example.route.TestBasic; type=osgi.bundle; version="[0.1.0,0.1.0]"; resolution:=mandatory [caused by: Unable to resolve org.example.route.TestBasic/0.1.0: missing requirement [org.example.route.TestBasic/0.1.0] osgi.wiring.package; filter:="(osgi.wiring.package=@BundleConfigImportPackage@)"]

at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ~[org.eclipse.osgi-3.18.400.jar:?]

Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve org.example.route.TestBasic/0.1.0: missing requirement 

 

Cause

The child bundle JAR is lacking the 'lib' and 'osgi-info' folders. Additionally, the custom Maven files ('pom.xml', 'pom-parent.xml', 'pom-bundle.xml', and 'pom-feature.xml') are outdated, which contravenes the Studio's default dependency settings during the compilation and packaging processes.

 

Resolution

  1. Open Project Settings in Talend Studio, then navigate to Build -> Maven -> Set custom scripts by folder -> Route Designs -> Routes -> Delete Maven files, remove the old Maven files: 'pom.xml', 'pom-parent.xml', 'pom-bundle.xml' and 'pom-feature.xml'.
  2. Rebuild and republish the service design.

 

Environment

Contributors
Version history
Last update:
‎2024-12-02 02:51 AM
Updated by: