Runtime failure to resolve plugin that is in manifest.mf [message #1277724] |
Wed, 26 March 2014 07:23  |
Eclipse User |
|
|
|
Hi,
I have a Debug configuration derived from my product file. This is a simple CDO project server. I spoke with Eike on the CDO project and he said he does not understand why p2 is including the org.eclipse.team.core or the org.eclipse.core.resources plugins when you use the "Add required plug-ins" button in the Debug config.
But they are included. When I run under Debug the plugin starts fine and opens a Session fine but as soon as I try to open a Transaction I get:
java.lang.NoClassDefFoundError: org/eclipse/core/resources/ResourcesPlugin
org.eclipse.net4j.signal.RemoteException: java.lang.NoClassDefFoundError: org/eclipse/core/resources/ResourcesPlugin
at org.eclipse.net4j.signal.RequestWithConfirmation.getRemoteException(RequestWithConfirmation.java:141)
at org.eclipse.net4j.signal.RequestWithConfirmation.setRemoteException(RequestWithConfirmation.java:130)
at org.eclipse.net4j.signal.SignalProtocol.handleRemoteException(SignalProtocol.java:465)
at org.eclipse.net4j.signal.RemoteExceptionIndication.indicating(RemoteExceptionIndication.java:66)
at org.eclipse.net4j.signal.Indication.doExtendedInput(Indication.java:57)
at org.eclipse.net4j.signal.Signal.doInput(Signal.java:328)
at org.eclipse.net4j.signal.Indication.execute(Indication.java:51)
at org.eclipse.net4j.signal.Signal.runSync(Signal.java:253)
at org.eclipse.net4j.signal.Signal.run(Signal.java:149)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/core/resources/ResourcesPlugin
at org.eclipse.emf.ecore.plugin.EcorePlugin.getWorkspaceRoot(EcorePlugin.java:1081)
at org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl.<clinit>(ExtensibleURIConverterImpl.java:393)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getURIConverter(ResourceSetImpl.java:499)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java:369)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getEObject(ResourceSetImpl.java:220)
at org.eclipse.emf.cdo.server.internal.db.MetaDataManager.getMetaInstance(MetaDataManager.java:113)
at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.ObjectTypeTable.getObjectType(ObjectTypeTable.java:90)
at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.DelegatingObjectTypeMapper.getObjectType(DelegatingObjectTypeMapper.java:60)
at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.AbstractHorizontalMappingStrategy.readObjectType(AbstractHorizontalMappingStrategy.java:82)
at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.HorizontalMappingStrategy.readObjectType(HorizontalMappingStrategy.java:194)
at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.readObjectType(DBStoreAccessor.java:205)
at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.getObjectType(DBStoreAccessor.java:222)
at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.readRevision(DBStoreAccessor.java:242)
at org.eclipse.emf.cdo.internal.server.Repository.loadRevisions(Repository.java:495)
at org.eclipse.emf.cdo.internal.common.revision.CDORevisionManagerImpl.loadRevisions(CDORevisionManagerImpl.java:387)
at org.eclipse.emf.cdo.internal.common.revision.CDORevisionManagerImpl.getRevisions(CDORevisionManagerImpl.java:292)
at org.eclipse.emf.cdo.internal.common.revision.CDORevisionManagerImpl.getRevision(CDORevisionManagerImpl.java:275)
at org.eclipse.emf.cdo.spi.common.revision.RevisionInfo.execute(RevisionInfo.java:140)
at org.eclipse.emf.cdo.server.internal.net4j.protocol.LoadRevisionsIndication.responding(LoadRevisionsIndication.java:169)
at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServerIndication.responding(CDOServerIndication.java:134)
at org.eclipse.net4j.signal.IndicationWithResponse.doExtendedOutput(IndicationWithResponse.java:98)
at org.eclipse.net4j.signal.Signal.doOutput(Signal.java:298)
at org.eclipse.net4j.signal.IndicationWithResponse.execute(IndicationWithResponse.java:67)
at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServerReadIndication.execute(CDOServerReadIndication.java:36)
... 5 more
Caused by: java.lang.ClassNotFoundException: org.eclipse.core.resources.ResourcesPlugin cannot be found by org.eclipse.emf.ecore_2.9.1.v20130827-0309
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 29 more
Errm, I included the org.eclipse.core.resources plugin, so how come it can not resolve it?
Here is my MANIFEST.MF
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %plugin.name
Bundle-SymbolicName: com.yambina.edm.cdoserver;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: %plugin.providerName
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Bundle-Localization: plugin
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.swt,
com.yambina.edm.server.commons;bundle-version="1.0.0",
org.eclipse.emf.cdo.server,
org.eclipse.net4j,
org.eclipse.net4j.db,
org.eclipse.net4j.db.h2,
org.eclipse.net4j.tcp,
org.eclipse.emf.cdo.common.db,
org.eclipse.emf.cdo.net4j,
org.eclipse.emf.cdo.server.db,
org.eclipse.emf.cdo.server.net4j
Bundle-ActivationPolicy: lazy
Bundle-Activator: com.yambina.edm.cdoserver.CDOServerEDMActivator
Mac OSX, Kepler
Thx.
David
|
|
|
Re: Runtime failure to resolve plugin that is in manifest.mf [message #1278633 is a reply to message #1277724] |
Thu, 27 March 2014 12:13  |
Eclipse User |
|
|
|
Hi,
This is the same answer as for my question on debugging pde post here on the forum.
Well this appears to relate to flakiness of how PDE discovers plugin dependencies.
If you create a Debug configuration from your product file, in my case CDOServer.product, then
1. you go an select the Plug-ins tab in the Debug Configuration
2. then click "Add Required plug-ins"
it may build a dependency that just does not work.
It seems you have do step 1 above, then
2. "Deselect All"
3. Select your own package
4. Click "Add Required plug-ins" a few times until the number of required plugins stop increasing, see the display "x out of y selected"
Then it worked ok. I must have missed this in the documentation...
Hope this helps others.
|
|
|
Powered by
FUDForum. Page generated in 0.04063 seconds