Cannot build KNIME 4.1 nodes

I’m using the SDK target system from Gitlab, but no matter what I try, my projects report that they cannot access org.knime.core.node.InvalidSettingsException.

I presume this is a class that is meant to be in knime-core.jar (although I don’t see it in the Github), but I have org.knime.core on the buildpath as well as org.knime.base.

What feature am I missing, as well as the defaults I have:

  • org.knime.base
  • org.knime.chem.types
  • org.knime.workbench.repository
  • org.rdkit.knime.types
  • org.knime.database
  • org.knime.database.connectors
  • org.knime.core.ui
  • org.knime.core.wizard

And my target definition is as targetdef.xml (8.2 KB)

I know I’m missing something, but I genuinely can’t see it - with the old build system I didn’t have any issue. Just to note, org.knime.core.node does not appear as a plugin I can add, which may be part of this problem, but I wouldn’t know what feature to add to make it happen.

Coming back to this myself, this is probably not the best answer, but it got me going to actually do what I needed to do. I found that, for whatever reason, I wasn’t getting org.knime.core.util being installed - so I temporarily added a local copy of that to my build path. It’s not ideal by any means, but it works for now while I can troubleshoot the rest of the chain.

Hi @James_Wallace,

It seems something went wrong when you modified the target platform, it is missing the target platform feature, which provides a lot of external dependencies used by internal plugins:

If you click on the org.knime.core plugin in the dependency editor of your plugin, you will see that it misses dependencies, thus it can’t be activated and is not used for dependency resolution.

I recommend you to rebuild your target platform starting from KNIME-AP.target by carefully adding more plugins. The editor provided by eclipse for this is sadly a bit buggy, it is too easy to accidentally remove plugins / features from the target platform. So make sure this doesn’t happen by taking a look at the source of the target definition file.

best,
Gabriel

I thought it was something along those lines, but I couldn’t see what was missing. Thanks, that seems to be working now.