java.lang.NoSuchMethodError: main
Exception in thread "main"
出现该异常是因为在之前我的项目中自定义了一个String类,如下图
在main(String[] args)中,他就会使用我自定义的String类,而不是java.lang中的类。但是虚拟机里面调用的main函数的参数并不与之匹配,所以就找不到他需要的main函数,也就发生了异常。
解决方法:
最简单的方法就是删掉自定义的String类,
如果String还有其他用途不能删掉,也可以在新写的main函数中指定String的包名,如下:
在搜所异常的过程中,还发现其他人也遇到了相同的异常,产生的原因也不太相同,主要有以下几点:
(1).第一个常见原因jar包中确实没有这个方法,所以虚拟机根本没有加载这个方法。
(2).第二个常见原因是jar包冲突了。导致虚拟机不知道加载哪一个,所以就导致了加载失败,从而找不到这个方法。
(3).第三个,也许就是包含在第二种情况中,该方法只有抽象定义,而没有具体实现。我今天的遇到的是第二种吧。
我的异常原因就是第二中,自定义的String与lang包中的String发生了冲突导致的。
纯属个人看法,仅供参考。