我在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。结果相同。
答案 0 :(得分:3)
我曾经多次遇到过这个问题而且非常令人沮丧。如果删除缓存,则应在重建项目后修复它
User\AppData\Local\NetBeans\Cache\
(Windows 7及更高版本)编辑 - 您也可以通过将netbeans转到Help - About
找到缓存目录,然后显示缓存目录。
答案 1 :(得分:0)
尝试使用main方法创建新类,并将代码复制到此类中。
答案 2 :(得分:0)
关闭Netbeans。转到 C:\ Users \ YOUR_PC_NAME \ AppData \ Local \ Netbeans 并删除缓存文件夹。再次打开Netbeans并运行该项目。它对我来说就像魔术一样。
( AppData 文件夹可能隐藏,如果是,则需要将其显示在“文件夹选项”中。)
答案 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。