我在尝试运行Netbeans(7.2)时遇到了一个反复出现的错误,上次有了它,我找到了一个可以将所有文件移动到新项目的地方。这可能会奏效,但我的项目规模让人非常麻烦。这是跟踪......
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.
它肯定存在,10分钟前很好,我还没碰过它。
我很确定它与netbeans的自动编译(可能还有代码完成功能)有关。有没有办法可以重置所有内部数据,而无需将所有内容移动到新项目。或任何其他建议。
答案 0 :(得分:5)
在描述的情况下,它通常可以帮助我删除Netbeans的整个缓存
如此亲密的Netbeans
使用netbeans缓存找到目录并删除其内容
它通常位于[USER_HOME]\.netbeans\7.x\var
- 删除var
目录中的所有内容。
答案 1 :(得分:5)
有一种单一且简单的方法可以做到这一点。让你的编译器再次编译该程序。意味着只需更改一些代码,例如Put somecode或在中间打印一些东西并再次保存。
清洁和建造项目。那会发生
右键单击项目 - >清洁和建设。
再次运行该程序。
我们去享受吧。那将会解决。
总之,您需要进行一些更改,以便编译器需要再次编译该程序。这样就会导致错误。
并且它没有编码错误我认为问题出在IDE上。
答案 2 :(得分:3)
在Windows 10 NetBeans 8.1上,关闭NetBeans,删除Cache目录并重新启动为我解决了这个问题:
缓存位于:
C:\用户\ [用户名] \应用程序数据\本地\的NetBeans \缓存\ 8.1
注意:我还可以关闭项目属性,构建,编译," Save on Compile"并且程序将继续正常运行。
答案 3 :(得分:1)
如果禁用“在保存时编译”,有时也会有帮助。
(使用Netbeans 8.1测试,根据@Ondrej Bozek的建议清除缓存时没有解决问题)。
运行程序后,您可以再次启用“保存时编译”。
答案 4 :(得分:0)
这是随机发生的,我通过重命名抛出错误的类来修复它,然后重新命名。
答案 5 :(得分:0)
如果您有某种疯狂的“找不到类”错误,您知道这是伪造的,因为您没有对类名称或位置做任何事情,并且该项目在十分钟前运行良好,并且该错误是在一些无害的情况下发生的在一个类文件中进行更改,然后,是, 关闭NetBeans ,并 删除Cache文件夹 。这样做绝对安全。
高速缓存(Netbeans 8.2,Windows 10)位于下面的路径中。注意:只要UserName
是有效的环境变量名称,键入完全以下内容对任何人都适用。
C:\Users\%UserName%\AppData\Local\NetBeans\Cache
P.S。
如果UserName
的定义不正确,则会出现错误。因此,然后Run cmd
并键入UserName=
,然后键入您的C:\Users
文件夹名称。假设它是Dov
。这样做:
C:...> set UserName=DOV
{这将我的用户名设置为“ DOV”}
C:...> set UserName
{这只是询问UserName
是什么)
USERNAME=DOV
{这是说,“嘿,您的UserName
是“ DOV”}}
P.P.S。
如果不确定UserName
,请发出以下命令:
C:...> set UserProfile
USERPROFILE=C:\Users\Dov
您的Username
是列出的最后一个文件夹名称,即“ Dov”。
P.P.P.S。您可能已经注意到cAsE无关紧要。