org.eclipse.core.runtime.CoreException:类文件不在类路径中

时间:2018-12-01 14:05:00

标签: java eclipse maven

从一开始,在尝试在Jetty下进行战争时,我遇到了一个错误,为了理解错误的根源,我想在依赖项中的类(SimpleCDI)中放置一个断点(一个由MAVEN下载的jar)。我在MAC下工作,当我按Command + Shift + T并查找“ SimpleCDI”类时,它表明该类位于org.jboss.weld包中

这是我研究的屏幕 enter image description here

当我单击“ C SimpleCDI org.jboss.weld”行时,它返回一条错误消息

org.eclipse.core.runtime.CoreException: The class file is not on the classpath
    at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.doSetInput(ClassFileEditor.java:694)
    at org.eclipse.ui.texteditor.AbstractTextEditor$5.run(AbstractTextEditor.java:3154)
    at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:437)
    at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:353)
    at org.eclipse.ui.internal.WorkbenchWindow$14.run(WorkbenchWindow.java:2195)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2191)
    at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3172)

我检查了我是否具有正确的依赖项(weld-servlet-2.4.5.Final.jar)与 里面的“ SimpleCDI”。

我注意到我的依赖项“ weld-servlet-2.4.5.Final.jar”的eclipse图标如下 enter image description here

这是一个jar文件,没有附加源。实际上,我可以在Eclipse中的“ Referenced Librairies”文件夹中的模块“ Tourism-Services”(我有一个Maven多模块项目)中看到上述依赖关系,但是导入此jar的Maven依赖关系是位于另一个模块“ Tourism-Core”中,该模块本身已导入“ Tourism-Services”模块中。我注意到,我在“旅游核心”模块的“参考图书馆”文件夹中看不到“ weld-servlet-2.4.5.Final.jar”(为什么?)

我的主要问题是:为什么我不能编辑“ SimpleCDI”类并放置断点以便调试上游

2 个答案:

答案 0 :(得分:1)

我也一直在使用CodeMix插件,您是否尝试从CodeMix首选项中删除Open Type绑定?首选项-> Codemix->绑定。从那里取消选中“在COMMAND + SHIFT + T上打开类型”,然后应用并关闭。这将使您能够使用Eclipse中的常规Open Java Type。

欢呼

答案 1 :(得分:0)

一个插件引起了错误。这是CodeMix插件

我尝试将其卸载:help-> Eclipse Marketplace->已安装 我得到以下屏幕

enter image description here

我在下拉列表中选择了卸载

但这不起作用。

我找到了一种解决方法:https://www.genuitec.com/forums/topic/uninstall-codemix/

但这是暂时的。我试图在Eclipse插件文件夹中找到CodeMix(我在MAC下工作),但是什么也没有。您是否看到另一种方式?