Netbeans错误:无法找到或加载主类(再次)

时间:2015-12-30 14:44:06

标签: java netbeans

我在Java方面非常有经验,但在Netbeans方面却没有。我有一个我一直在研究的项目,针对特定问题的一个小测试程序,所以我一直在对它进行更改并运行它并每天调试多次,持续数周。昨天Netbeans以我运行它的方式退出运行它,我似乎无法再次启动它。

运行项目时的整个输出是:

run: Error: Could not find or load main class 

C:\Users\rcook\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1 
BUILD FAILED (total time: 0 seconds)

我注意到,无论它的价值如何,类名都不会出现在第一行,因为对于其他人来说,似乎没有找到"无法找到"错误。

无论是运行项目(选择项目并按F6)还是文件(选择文件并按control-F6),都会发生这种情况。我已经清理并重建了这个项目(之前我没有经常这样做,我很想知道它是否导致问题)。我重新启动了Netbeans。我重新启动了(Win7)计算机。我没有运行任何占用内存的程序,除了Outlook,我一直在运行它。

我可以通过将默认目录设置为'类来从命令行运行程序。项目下的目录并输入java stsclientexample3.STSClientExample3

我检查了" Run"配置多次 - 没有输入程序或VM选项,它具有正确的类名。奇怪的是,如果我将类名更改为不存在的类型,Netbeans会显示一个弹出窗口,指出在项目中找不到无效的名称类,并列出可用的主类。但是当我这样做并选择要运行的那个时,它会给出相同的"找不到"错误。在项目中还有另外一个主要类,如果我选择它给出相同的"找不到"错误。

我查看了邮件中引用的XML文件,但它中充满了$ {parameter}引用,我不知道它的解析。例如,知道Netbeans如何解析" $ {classname}"或甚至以某种方式转储Netbeans在运行时具有的价值可能会有所帮助。

我已注释掉代码并重新运行。结果相同。

我已从运行配置中删除该类,重新启动了Netbeans,并将该类添加回来。结果相同。

到目前为止,我已经在SO和其他地方阅读了十多个其他类似错误的查询;我已经尝试了所有可能的东西(跳过配置专用库等等)。

任何人都知道如何解决这个问题?

编辑:在有人要求之前,另一个main()的项目使用'运行项目'选项。

EDIT2:我还忘了提到另一个帖子建议删除Netbeans缓存(c:\ Users \\ AppData \ Local \ NetBeans \ Cache),所以我关闭了NetBeans,删除了该目录中的所有内容,并重新启动NetBeans。结果相同。

6 个答案:

答案 0 :(得分:3)

我曾经多次遇到过这个问题而且非常令人沮丧。如果删除缓存,则应在重建项目后修复它

  1. 关闭netbeans
  2. 删除缓存文件夹User\AppData\Local\NetBeans\Cache\(Windows 7及更高版本)
  3. Open Netbeans
  4. 重建并运行
  5. 编辑 - 您也可以通过将netbeans转到Help - About找到缓存目录,然后显示缓存目录。

答案 1 :(得分:0)

尝试使用main方法创建新类,并将代码复制到此类中。

答案 2 :(得分:0)

关闭Netbeans。转到 C:\ Users \ YOUR_PC_NAME \ AppData \ Local \ Netbeans 并删除缓存文件夹。再次打开Netbeans并运行该项目。它对我来说就像魔术一样。

AppData 文件夹可能隐藏,如果是,则需要将其显示在“文件夹选项”中。)

enter image description here

答案 3 :(得分:0)

我在Netbeans IDE 8,2工作。我有同样的问题,在我的manifest.mf中,字段类路径:是空的(我注意到了,因为我收到了消息:

  

java返回1无法加载主类ExerciseFinal

我查看了类路径nb搜索的内容,我只是更改了一个文件夹的名称,然后重新启动netbeans后,一切正常。

我的文件名是" teo_1 = 1;"然后我把它改成了#34; teo"只是因为我认为可能1 = 1(总是如此)弄乱了nb。

答案 4 :(得分:0)

我有同样的问题,我认为问题出在文件路径中,要么是太长了要么有一些禁用字符(现在我已经看到它是我的语言中的一封信),当我复制一个项目时到它工作的另一个文件夹...

答案 5 :(得分:0)

经过一段时间试图弄清楚自己,查看每个菜单,子菜单,标签和选项后,我仍然被卡住了。没有任何人建议为我工作。

我以骄傲和自我教育的名义花了多少小时?一些。我要提出的建议需要多长时间?也许10分钟; 15个上衣。

我的旅程是浪费吗?不,我学到了很多东西。但是因为我还没有开始学习我做了什么,并且被阻止了我需要做的工作,所以在很久之前我很生气并且放弃了。

所以......长话短说,做到这一点:

(步骤1已被删除;重新编号的步骤可能是个坏主意。所以从2开始!)

第2步:打开问题项目。

步骤3:创建一个新的Netbeans项目,进入项目视图,然后展开这两个项目以显示他们的包。

第4步:周到地将所有软件包从问题项目复制到新项目。 (这意味着推迟"主要"包直到最后,以避免一大堆红色标记的错误。如果你看到一堆,不要看他们。进一步复制将修复许多。)

注意:必须为新项目选择不同的项目名称可能会为您的新"主要" java类文件。没问题。请注意这一点。

第5步:一旦你复制了除#34; main"之后的所有内容。从问题项目打包到新的,打开"主要"包看看你的文件。然后打开新的#34; main"包,其中包含一个小文件。

步骤6:一次性地将一个文件复制(从#34;主要"类文件到最后一个)从问题项目复制到新文件。

(如果您看到错误,请让他们继续。尚未完成。)

第7步:一旦你只有"主要"要从问题项目中复制的类文件,打开它。同时打开新的"主要"新项目中的类文件。

步骤8:复制问题项目中的所有代码" main" java类文件并将其粘贴到新项目" main"文件。

步骤9.最后会有错误。毕竟,至少有一个包和一个文件名已更改。因此,打开每个源文件时出现错误,将光标放在每一行都有错误,然后按Alt-Enter获取提示。重命名新的主文件或将一些旧的包名更改为新的将修复一些,特别是在一些导入;这可能只是摆脱其余部分。

我希望这有助于某人。我应该寻找一个更新的帖子,并把这个答案放在那里,如果它得到足够的upvotes。