首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OSGI Mylyn java.lang.ClassNotFoundException: AbstractRepositoryConnector

OSGI Mylyn java.lang.ClassNotFoundException: AbstractRepositoryConnector
EN

Stack Overflow用户
提问于 2013-04-09 19:00:07
回答 1查看 291关注 0票数 0

我已经创建了两个Mylyn扩展(com.xyz.mylyn.ui.MyRepositoryUi扩展AbstractRepositoryConnectorUi和com.xyz.mylyn.core.MyRepositoryConnector扩展AbstractRepositoryConnector)。我通常使用Eclipse更新站点选项安装这些自定义扩展插件。

在安装这些自定义插件之前,我还成功地安装了先决条件依赖的Mylyn插件,即Mylyn任务列表、Mylyn任务聚焦界面和Mylyn Wikitext。在安装时,我看到下面两个jars包包含我从中扩展的Mylyn类,它们正确地出现在我的eclipse work plugins文件夹下。

1]包含扩展org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector的org.eclipse.mylyn.tasks.core_3.6.0.v20110608-1400.jar

2]包含扩展org.eclipse.mylyn.tasks.ui.AbstractRepositoryConnectorUi的org.eclipse.mylyn.tasks.ui_3.6.2.v20110826-0100.jar

以下是我创建的ui插件plugin.xml文件-

代码语言:javascript
复制
'<?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>'

然而,在安装自定义插件时,我得到了以下错误-

代码语言:javascript
复制
!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)

当依赖的Mylyn库在eclipse工作空间的plugins文件夹下可用时,我不确定为什么类加载失败。

任何提示都会有很大的帮助。

谢谢,Aditya

EN

回答 1

Stack Overflow用户

发布于 2013-04-09 22:20:44

有可能这些插件还没有被解析/安装。尝试使用以下方法进行检查:

尝试以下操作:打开控制台视图,从控制台的“打开控制台”上下文菜单中选择主机OSGi控制台,然后输入

ss org.eclipse.mylyn.tasks.core

在主机控制台OSGi面板中

如果插件不存在,请尝试重新安装mylyn。如果您使用RCP或PDE,则需要将此插件添加到必需的插件中。

也有可能你的发行版是无效的。如果你使用dropins文件夹并从dropins文件夹更新一些插件,就会发生这种情况。

您还可以将com.xyz.integration.mylyn.ui插件添加到com.xyz的依赖项中...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15900087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档