0

I have created two Mylyn extensions (com.xyz.mylyn.ui.MyRepositoryUi extending AbstractRepositoryConnectorUi and com.xyz.mylyn.core.MyRepositoryConnector extending AbstractRepositoryConnector). I usually install these custom extension plugin using the Eclipse update site option.

Before installing these custom plugins I have also successfully installed the prerequisit dependent Mylyn plugins viz Mylyn Task List, Mylyn Task Focused Interface and Mylyn Wikitext. Upon install I see that the following two jars containing the Mylyn classes which I have extended from are correctly present under my eclipse work spaces plugins folder.

1] org.eclipse.mylyn.tasks.core_3.6.0.v20110608-1400.jar containing the extended org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector

2] org.eclipse.mylyn.tasks.ui_3.6.2.v20110826-0100.jar containing the extended org.eclipse.mylyn.tasks.ui.AbstractRepositoryConnectorUi

The following is ui plugins plugin.xml file created by me -

'<?xml version="1.0" encoding="UTF-8"?>'
'<?eclipse version="3.2"?>'
'<plugin>'
'<extension point="org.eclipse.mylyn.tasks.ui.repositories">'
'<connectorCore class="com.xyz.mylyn.core.MyRepositoryConnector"'
'id="com.xyz.mylyn.core.myrepositoryconnector"'
'name="My Repository Connector"'
'type="My"/>'
'<connectorUi brandingIcon="images/connectionsmall.gif"'
'class="com.xyz.mylyn.ui.MyRepositoryUi" id="com.xyz.mylyn.ui.myconnectorui"'
'name="Connector UI" overlayIcon="images/mobius.gif"/>'
'<taskListMigrator class="com.xyz.mylyn.ui.MyTaskListMigrator"/>'
'</extension>'
'<extension'
'point="org.eclipse.mylyn.tasks.ui.editors">'
'<pageFactory'
'class="com.telelogic.synergy.integration.mylyn.ui.editor.MyTaskEditorPageFactory"'
'id="com.ibm.rational.synergy.integration.mylyn.ui.editor.mytaskeditorpagefactory">'
'</pageFactory>'
'</extension>'
'</plugin>'

However upon installing the custom plugins I get the following error -

!ENTRY org.eclipse.mylyn.tasks.ui 4 0 2013-03-22 14:50:46.117
!MESSAGE Repository connectors failed to load.
!SUBENTRY 1 org.eclipse.mylyn.tasks.ui 4 0 2013-03-22 14:50:46.117
!MESSAGE Could not load connector core
!STACK 1
org.eclipse.core.runtime.CoreException: Plug-in com.xyz.integration.mylyn.ui was unable to load class com.xyz.mylyn.core.MyRepositoryConnector. at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:194)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:178)
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
    at org.eclipse.mylyn.internal.tasks.ui.util.TasksUiExtensionReader$ConnectorDescriptor.createConnector(TasksUiExtensionReader.java:95)
    at org.eclipse.mylyn.internal.tasks.ui.util.TasksUiExtensionReader.initConnectorCores(TasksUiExtensionReader.java:327)
    at org.eclipse.mylyn.internal.tasks.ui.util.TasksUiExtensionReader.initStartupExtensions(TasksUiExtensionReader.java:245)
    at org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin.start(TasksUiPlugin.java:583)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
    at java.security.AccessController.doPrivileged(Native Method)
        ...
        ...

which is caused by the following exception - 



Caused by: java.lang.NoClassDefFoundError: AbstractRepositoryConnector
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:632)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:607)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:568)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:492)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:465)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
    at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
    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:356)
    at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:340)
    at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1212)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
    ... 112 more
Caused by: java.lang.ClassNotFoundException: AbstractRepositoryConnector
    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:356)

I am not sure why the classloaded is failing to load the dependent Mylyn libraries when they are available under the eclipse work space's plugins folders.

Any pointers will be of great help.

Thanks, Aditya

user1619355
  • 429
  • 1
  • 4
  • 17

1 Answers1

0

It is possible that these plugins hasn't been resolved/installed. Try check using the following:

try the following: Open Console View, select Host OSGi Console from Console's "Open Console" context menu and enter

ss org.eclipse.mylyn.tasks.core

in the Host Console OSGi panel

If the plugin doesn't exist, try to reinstall mylyn. If you use RCP or PDE you need add this plugin to required plugins.

It's also possible that your distribution is invalid. It can happen if you use dropins folder and update some plugins from dropins folder.

You would also add the com.xyz.integration.mylyn.ui plugin to dependencies of your com.xyz...