2

I have a recurring bug when attempting to run Netbeans (7.2), last time I had it, I found somewhere that you can just move all your files to a new project. That will probably work, but the size of my project makes that quite a hassle. Here is the trace...

Exception in thread "main" java.lang.NoClassDefFoundError:  X.X.X.X
Caused by: java.lang.ClassNotFoundException: X.X.X.X
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)

Could not find the main class: X.X.X.X Program will exit.

It's definitely there, it was fine 10 minutes ago and I haven't touched it.

I'm pretty sure it has something to with the automatic compiling (and perhaps code-completion features) of netbeans. Is there a way I can just reset all the internal data without moving everything to a new project. Or any other suggestions.

4

6 回答 6

5

有一种单一且简单的方法可以做到这一点。使您的编译器再次编译该程序。意味着只需更改一些代码,例如 Put somecode 或 print Something in between 并再次保存。

和清理和构建项目。那将会发生

右键单击项目 --> 清理并构建。

并再次运行该程序。

我们去享受吧。那将得到解决。

简而言之,您需要进行一些更改,以便编译器需要再次编译该程序。这样该错误将得到解决。

它不是编码错误,我认为问题出在 IDE 上。

于 2014-01-08T11:02:20.047 回答
5

在所描述的情况下,它通常可以帮助我删除整个 Netbeans 缓存。
如此接近Netbeans。
使用 netbeans 缓存找到目录并删除其内容。
它通常位于[USER_HOME]\.netbeans\7.x\var- 删除var目录中的所有内容。

于 2013-06-05T14:38:20.003 回答
4

在 Windows 10 NetBeans 8.1 上,关闭 NetBeans,删除缓存目录并重新启动为我解决了这个问题:

缓存位于:

C:\Users\%UserName%\AppData\Local\NetBeans\Cache\

注意:我还可以关闭项目属性、构建、编译、“编译时保存”,程序将继续正常运行。

于 2016-01-16T17:42:23.463 回答
2

有时,禁用“保存时编译”也会有所帮助。

  • 转到(项目)属性->编译->保存时编译

(使用 Netbeans 8.1 进行测试,按照@Ondrej Bozek 的建议清除缓存时没有解决问题)。

运行程序后,您可以再次启用“保存时编译”,没有任何问题。

于 2015-11-18T18:54:53.493 回答
0

如果你有任何你知道的疯狂的“找不到类”错误是假的,因为你没有对类名或位置做任何事情,并且项目在十分钟前运行良好,错误发生在你做了一些无害的改变之后在其中一个类文件中,然后,是的,关闭 NetBeans删除 Cache 文件夹。这样做是绝对安全的。

Thw 缓存(Netbeans 8.2、Windows 10)位于以下路径。注意:只要是有效的环境变量名称,任何人都可以准确输入以下内容。UserName

C:\Users\%UserName%\AppData\Local\NetBeans\Cache

PS如果UserName没有正确定义,你会得到一个错误。然后Run cmd输入UserName=您的C:\Users文件夹名称。假设它是Dov. 做这个:

C:...> set UserName=DOV {这将我的用户名设置为“DOV”}

C:...> set UserName {这只是询问是什么UserName

USERNAME=DOV {这说,“嘿,你UserName是“DOV”}

PPS 如果您不确定自己的UserName,请发出以下命令:

C:...>set UserProfile

USERPROFILE=C:\Users\Dov

Username是列出的最后一个文件夹名称,即“Dov”。

PPPS 您可能已经注意到 cAsE 并不重要。

于 2020-05-10T18:57:47.560 回答
0

这是随机发生在我身上的,我通过重命名引发错误的类来修复它,然后在后面重命名。

于 2016-03-17T17:20:03.527 回答