Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
OTTroubleShooting
Contents
Trouble Shooting — Error messages, causes and solutions
This page collects error messages of the Object Teams Development Tooling that may pop up in dialogs
and/or appear in the log file at {$workspace_loc}/.metadata/.log
, along with explanations of
root causes and possible solutions.
fragment has no host bundle
- Error message
OT/Equinox: Required fragment org.eclipse.jdt.compiler.apt has no host bundle (aspect binding of org.objectteams.otdt.apt.adaptor)
- Cause
- The plugin org.objectteams.otdt.apt.adaptor tries to adapt the bundle fragment org.eclipse.jdt.compiler.apt, which requires an execution environment JavaSE-1.6. On platforms where JavaSE-1.6 is not available this fragment cannot be resolved, which in turn causes the adaptor plugin to fail, too.
- Solution
- No action required.
AbortCompilation
- Exception
org.eclipse.jdt.internal.compiler.problem.AbortCompilation
- Cause
- This exception likely signals an incomplete classpath. In some cases the problem view will give further information by specifying a specific type that could not be resolved.
- Solutions
- Some occurrences of this exception are harmless. Only if this exception is paired with other unexpected behavior it might be a hint to the underlying root cause.
No OT/J plug-in project found
- Exception
No OT/J plug-in project found, debug functionality not fully available.
- Cause
- An eclipse application (or JUnit plugin test) was launched in debug mode, while no project with OTJavaNature was open in the workspace. As the only result of this problem the team monitor view will not work.
- Solution
- Open any project that has the OTJavaNature.
ClassCircularityError
- Exception
java.lang.ClassCircularityError: org/eclipse/jface/dialogs/IDialogSettings
- Cause
- When this happens in an OT/Equinox project, it could mean that you are trying to combine the following two elements
- Define an aspectBinding to bundle org.eclipse.ui.workbench
- Define an activator that extends org.eclipse.ui.plugin.AbstractUIPlugin
- In this situation we get the following cyclical dependencies:
- when starting org.eclispe.ui.workbench the adapting team must be instantiated and activated
- when instantiating the team its bundle must be activated using the activator
- when loading the activator class AbstractUIPlugin must be loaded
- org.eclipse.ui.workbench must be started
- More complex structures may occurr when the aspect bundle adapts another bundle, which has an activator extending AbstractUIPlugin. This could also cause the ClassCircularityError.
- Workaround
- For the simple variant just split the bundle into two, to make the activator independent of the aspect bundle.
- An future version of OT/Equinox will support runtime re-weaving which should allow us to defer weaving until all involved bundles have been activated, thus reducing the impact on load orders.