Openhab2 addons in eclipse miss org.osgi.service.component.annotations

  • Platform information:
    • Hardware: X86-64
    • OS: Ubuntu 18/10
    • Java Runtime Environment: Oracle Jdk 1.8
    • openHAB version: current git master

I had a pretty old IDE setup (manually created) which worked fine the last time I used it. As I found that I need to fix a plugin to be able to switch to openhab2 I tried to update my IDE (eclipse 2018-09).

Almost all of my addons show the errors in eclipse ‘problems’ view:
Component cannot be resolved to a type

This is the only problem my IDE shows, but it’s there for most of the addons. I did google a lot already but did not find what I can do (the target platform appears to be set correctly)

what am I doing wrong? (btw, I already tried to setup a workspace from scratch, but that led to the same issue)

Just to have tried it, I followed the guide at https://www.youtube.com/watch?v=o2QjCGdZl7s but it resulted in

ERROR: org.eclipse.equinox.p2.director code=10054 Cannot complete the install because of a conflicting dependency.
  at org.eclipse.oomph.util.OomphPlugin.coreException(OomphPlugin.java:280)
  at org.eclipse.oomph.p2.internal.core.ProfileTransactionImpl.resolve(ProfileTransactionImpl.java:425)
  at org.eclipse.oomph.p2.internal.core.ProfileTransactionImpl.commit(ProfileTransactionImpl.java:337)
  at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.perform(P2TaskImpl.java:733)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:3334)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:3262)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:3243)
  at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:3143)
  at org.eclipse.oomph.setup.ui.wizards.ProgressPage$9.run(ProgressPage.java:575)
  at org.eclipse.oomph.setup.ui.wizards.ProgressPage$11$1.run(ProgressPage.java:701)
  at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
  ERROR: org.eclipse.equinox.p2.director code=0 Software being installed: artificial_root 1.0.0.v1545642219843
  ERROR: org.eclipse.equinox.p2.director code=1 Only one of the following can be installed at once: 
    ERROR: org.eclipse.equinox.p2.director code=0 Java Development Tools Core 3.16.0.v20181130-1748 (org.eclipse.jdt.core 3.16.0.v20181130-1748)
    ERROR: org.eclipse.equinox.p2.director code=0 Object Teams Development Tooling Core 3.16.0.OTDT_r272_201812061254 (org.eclipse.jdt.core 3.16.0.OTDT_r272_201812061254)
    ERROR: org.eclipse.equinox.p2.director code=0 Java Development Tools Core 3.14.0.xx-201812240552-e48 (org.eclipse.jdt.core 3.14.0.xx-201812240552-e48)
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: artificial_root 1.0.0.v1545642219843
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.codehaus.groovy.eclipse.feature.feature.group 0.0.0
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: artificial_root 1.0.0.v1545642219843
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.eclipse.jdt.feature.group 0.0.0
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: Groovy-Eclipse Compilerless feature 3.2.0.xx-201812240552-e48 (org.codehaus.groovy.compilerless.feature.feature.group 3.2.0.xx-201812240552-e48)
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.codehaus.groovy.headless.feature.feature.group [3.2.0.xx-201812240552-e48,3.2.0.xx-201812240552-e48]
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: Eclipse Groovy Development Tools 3.2.0.xx-201812240552-e48 (org.codehaus.groovy.eclipse.feature.feature.group 3.2.0.xx-201812240552-e48)
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.codehaus.groovy.compilerless.feature.feature.group [3.2.0.xx-201812240552-e48,3.2.0.xx-201812240552-e48]
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: Groovy-Eclipse Headless feature 3.2.0.xx-201812240552-e48 (org.codehaus.groovy.headless.feature.feature.group 3.2.0.xx-201812240552-e48)
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.codehaus.groovy.jdt.patch.feature.group [3.2.0.xx-201812240552-e48,3.2.0.xx-201812240552-e48]
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: JDI Debug UI 3.10.100.v20181120-0542 (org.eclipse.jdt.debug.ui 3.10.100.v20181120-0542)
    ERROR: org.eclipse.equinox.p2.director code=0 To: osgi.bundle; org.eclipse.jdt.core [3.15.0,4.0.0)
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From: Eclipse Java Development Tools 3.16.0.v20181206-1038 (org.eclipse.jdt.feature.group 3.16.0.v20181206-1038)
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.eclipse.jdt.debug.ui [3.10.100.v20181120-0542,3.10.100.v20181120-0542]
  ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
    ERROR: org.eclipse.equinox.p2.director code=0 From Patch: org.codehaus.groovy.jdt.patch.feature.group 3.2.0.xx-201812240552-e48 Eclipse Java Development Tools 3.16.0.v20181206-1038 (org.eclipse.jdt.feature.group 3.16.0.v20181206-1038)
    ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.equinox.p2.iu; org.eclipse.jdt.core [3.14.0.xx-201812240552-e48,3.14.0.xx-201812240552-e48]

It is sad, but OpenHAB developers don’t care about build process.
I struggled with the same issue and avoid this error after removing ~/.p2 and ~/.eclipse and using “Photon”

1 Like

Thanks for that input, just knowing that it’s not just me helps a lot. I’ll try that suggestion in a few days.