java.lang.RuntimeException:不可编译的源代码 – 可能导致这种情况的原因是什么?

这个错误是奇怪的,我的代码编译好,我可以看到有没有问题,但这个错误刚刚popup。 我尝试重新启动NetBeans,没有其他的exception信息。

什么可以导致这个?

我想你正在使用一个IDE(如Netbeans),它允许你运行代码,即使某些类是不可编译的。 在应用程序运行期间,如果你访问这个类,它将导致这个exception。

如果是Netbeans,请尝试在项目属性(Build – > Compiling)中取消勾选“保存时编译”设置。 这是在类似的情况下帮助我的唯一的事情。

来源: http : //forums.netbeans.org/post-45324.html

这是由于NetBeans在其caching中保留了一些旧的源代码和/或编译后的代码,并没有注意到,例如一些代码的依赖关系(即引用的包)已经改变,并且文件的正确刷新/重新编译将会按顺序。

解决方法是通过以下任一方式强制刷新:

a)find并编辑违规的源文件以强制其重新编译(例如,添加一个虚拟行,保存,删除它,再次保存),
b)做一个干净的构build(有时会工作,有时不会),
c)禁用“保存时编译”(不推荐,因为它可以使IDE成为皇家PITA),或者
d)手动删除NetBeanscaching,强制重新编译。

至于如何删除caching:

如果您使用的是旧版本的NetBeans,请执行以下操作:

  • .netbeans/6.9/var/cache/index/删除与你的项目相关的所有东西(用你的版本replace6.9)。

如果您使用的是较新的:

  • AppData/Local/NetBeans/Cache/8.1/index/删除与您的项目相关的所有内容(用您的版本replace8.1)。

path可能会有所不同,例如在不同的平台上,但这个想法还是一样的。

我也得到了同样的错误,我干净的构build,它的工作。

添加selenium-server-standalone-3.4.0.jar。 它适用于我。 下载链接

在项目的属性/运行屏幕上禁用保存。 这是最后对我的工作。 为什么NetBeans将这个问题搞砸了。

注意:我可以使用NetBeans中的右键单击来编译它所抱怨的文件。 显然,当我使用Build&Compile时,并没有真正编译它,因为根本没有任何错误。 但之后,错误只是移动到另一个Java类文件。 我无法编译,因为它是灰色的。 我也尝试删除我的NetBeans项目文件中的构build和dist目录,但这也没有帮助。

把你的代码组织成一个maven模块。 完成后,从terminal运行命令
$mvn installl
检查你的代码是否正常。
最后导入netbeans或eclipse中的项目作为maven项目。

我在NetBeans 8.0.1中遇到了这个问题。 关于项目删除类中的问题的消息。 删除〜/ .netbeans不起作用。 此外,我查找了所有我的项目中删除类的任何引用,没有发现。 我删除了构build类,一切。 然后,当我再次启动Netbeans的时候,编译并且神奇地将这个消息出现在Run和母类编译的类中。 我试图取消“编译保存”Dime解决scheme,并工作,但它是不实际的。 最后,我的解决scheme是编辑和强制重新编译母类。 这样新的.class不包含消息和运行正常。

只要检查一下包装,我能提供的最简单的答案就是你的包裹被错误标记(在一个class级内)。

此外,你可能有一些怪异的人物。 尝试在记事本(或Gedit)中刷新代码,然后使用IDE将其粘贴到新创build的类中。

如果您使用Netbeans,请尝试点击“清理并生成”button,让它执行此操作并重试。 为我工作!

我有同样的问题。 我的错误是包装。 所以我build议你先检查包名,如果类是在正确的包。

改变类的包,你的文件可能是在错误的包,发生在我从我的朋友复制的代码,这是默认的包,我的是另一个,因此netbeans无法编译,因为它。