Update to Eclipse 2022-06 for KNIME AP 4.7.0

Dear Community Developers

In our next feature release of KNIME Analytics Platform (4.7.0) we will be updating the underlying version of Eclipse. The release is planned for winter 2022 (early December) - no date confirmed yet.

This upgrade might require changes to 3rd party node extensions like community, partner or custom in-house extensions, especially if libraries such as Jetty, Apache POI, or Apache Batik are used. In most cases, only an update of the version ranges in the dependency declaration is needed. What we’d like you to do is testing the nightly build with your own custom node extension.

You can download the nightly build here or point your Eclipse IDE to an updated “Target Platform” by switching to the master branch in the knime-sdk-setup repository. (Details are described here).

Troubleshooting

This update should be relatively easy, please take note of the following troubleshooting tips, to ensure a smooth update.

Updated / renamed libraries

Some libraries have been renamed, removed or replaced, take note of the following important examples:

  • We now ship Jetty only in version 10.0.9 (used for any temporary ‘localhost’ web-servers, e.g. for OAuth authentication)
  • We now ship Apache POI (used for Excel file processing) only in version 4.1.1
    • org.apache.servicemix.bundles.poi have been removed
    • Instead depend on the bundles org.apache.poi and org.apache.poi-ooxml
  • Apache Batik (used for SVG image generation) for has been updated to version 1.14
  • Eclipse Birt (KNIME’s reporting extension) has been updated to the proper 4.9.0 release
  • Some bundles have been renamed (e.g. bcprov to org.bouncycastle.bcprov)

Please reach out to me if you are missing any dependencies or are having trouble updating.

Important: Remove org.w3c.dom.events package imports!

You need to remove all imports of the org.w3c.dom.events package in version 3 in from your extensions MANIFEST.MF. Otherwise, installing your extension will break KNIME AP installations, as they will no longer start!

The org.w3c.dom.events import was previously required to get extensions to work that had dependencies on apache poi, knime-svg or batik, so if your extensions have one of these dependencies, make sure to check for and remove this package import!

How to debug AP startup issues

When you have dependency resolution issues, the startup of the AP becomes very slow, so you need to fix these. By enabling osgi resolver debugging, you can see these errors as they appear during startup in the terminal / eclipse console.

  • Modify the knime.ini (standalone AP) or your debug launch configuration (starting from Eclipse) and add this line to the vm arguments. Either at the end of the knime.ini file (somewhere below -vmargs) or in the arguments tab of the launch configuration.
  • -Dosgi.debug=/path/to/debug.options
  • … whereby the debug.options file contains these lines
org.eclipse.osgi/resolver=true
org.eclipse.osgi/resolver/roots=true
org.eclipse.osgi/resolver/report=true

If you have any further questions, problems etc, please post them in this thread so I can help you with them.

Best regards,
Gabriel

8 Likes