Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 类加载与两个eclipse插件冲突_Java_Eclipse_Plugins_Classloader - Fatal编程技术网

Java 类加载与两个eclipse插件冲突

Java 类加载与两个eclipse插件冲突,java,eclipse,plugins,classloader,Java,Eclipse,Plugins,Classloader,以下情况: 在工作中,我们有一个自己的插件,它扩展了一些JDT特性,并为我们自己的框架构建了一些帮助函数。到目前为止还不错 该插件包括以下类: 公共类MoxLogFactory扩展org.apache.commons.logging.LogFactory{ ... } (我省略了具体的实现,因为它非常全面) 现在,我将WindowBuilder插件添加到eclipse安装中。我可以创建包含向导的新项目和类。但主要功能——编辑本人——不起作用。事实证明,WindowBuilder试图从我们的插件

以下情况:

在工作中,我们有一个自己的插件,它扩展了一些JDT特性,并为我们自己的框架构建了一些帮助函数。到目前为止还不错

该插件包括以下类:

公共类MoxLogFactory扩展org.apache.commons.logging.LogFactory{
...
}
(我省略了具体的实现,因为它非常全面)

现在,我将WindowBuilder插件添加到eclipse安装中。我可以创建包含向导的新项目和类。但主要功能——编辑本人——不起作用。事实证明,WindowBuilder试图从我们的插件加载类“MoxLogFactory”!我附加了stacktrace,如果我打开编辑器,它会出现:

java.lang.ClassNotFoundException:org.dreamox.moxanos.log.MoxLogFactory
位于org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
位于org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
位于org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
位于org.eclipse.osgi.internal.baseAdapter.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
位于java.lang.ClassLoader.loadClass(未知源)
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(未知源)
位于org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1261)
位于org.apache.commons.logging.LogFactory$2.run(LogFactory.java:1065)
位于java.security.AccessController.doPrivileged(本机方法)
位于org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:1062)
位于org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:497)
位于org.apache.commons.logging.LogFactory.getLog(LogFactory.java:704)
位于org.apache.commons.digester.digester.(digester.java:340)
位于org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.getDescription0(ComponentDescriptionHelper.java:375)
位于org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.getDescription0(ComponentDescriptionHelper.java:289)
位于org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.getDescription(ComponentDescriptionHelper.java:258)
位于org.eclipse.wb.internal.core.model.JavaInfoUtils.createJavaInfo(JavaInfoUtils.java:386)
位于org.eclipse.wb.internal.rcp.parser.ParseFactory.getRootContext(ParseFactory.java:184)
位于org.eclipse.wb.internal.core.parser.JavaInfoParser.PrepareSContext(JavaInfoParser.java:1185)
位于org.eclipse.wb.internal.core.parser.JavaInfoParser.parse(JavaInfoParser.java:244)
位于org.eclipse.wb.internal.core.parser.JavaInfoParser.access$9(JavaInfoParser.java:240)
位于org.eclipse.wb.internal.core.parser.JavaInfoParser$1.runObject(JavaInfoParser.java:153)
位于org.eclipse.wb.internal.core.parser.JavaInfoParser$1.runObject(JavaInfoParser.java:1)
位于org.eclipse.wb.internal.core.utils.ExecutionUtils.runDesignTime(ExecutionUtils.java:153)
位于org.eclipse.wb.internal.core.parser.JavaInfoParser.parse(JavaInfoParser.java:151)
位于org.eclipse.wb.internal.core.editor.DesignPage.internal\u refreshGEF(DesignPage.java:522)
位于org.eclipse.wb.internal.core.editor.DesignPage.access$9(DesignPage.java:510)
位于org.eclipse.wb.internal.core.editor.DesignPage$8$1.run(DesignPage.java:437)
位于org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)
位于org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
位于org.eclipse.swt.widgets.Display.syncExec(Display.java:4683)
位于org.eclipse.wb.internal.core.editor.DesignPage$8.run(DesignPage.java:434)
位于org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
位于org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
位于org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
位于org.eclipse.wb.internal.core.editor.DesignPage.internal\u refreshGEF\u with progress(DesignPage.java:453)
位于org.eclipse.wb.internal.core.editor.DesignPage.internal\u refreshGEF(DesignPage.java:403)
位于org.eclipse.wb.internal.core.editor.UndoManager.refreshDesignerEditor(UndoManager.java:381)
位于org.eclipse.wb.internal.core.editor.UndoManager.activate(UndoManager.java:90)
在org.eclipse.wb.internal.core.editor.DesignPage.HandLeactiveEstate_True(DesignPage.java:251)上
位于org.eclipse.wb.internal.core.editor.DesignPage.HandLeactiveEstate(DesignPage.java:229)
在org.eclipse.wb.internal.core.editor.multi.DefaultMultiMode.showPage(DefaultMultiMode.java:125)上
在org.eclipse.wb.internal.core.editor.multi.DefaultMultiMode$1.widgetSelected(DefaultMultiMode.java:63)
位于org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
位于org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
位于org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
位于org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
位于org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
位于org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)
位于org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:2746)
位于org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1433)
位于org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:257)
位于org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
位于org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
位于org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
在org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)上
位于org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:999)
位于org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
位于org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:893)
位于org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:85)
位于org.eclipse.ui.internal.Workbench$4.run(Workbench.java:579)
位于org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm