个人在Maven工程中运行Java文件时莫名其妙的不能执行,报如下错误

Java代码
  1. Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac/M
  2. ain
  3. Caused by: java.lang.ClassNotFoundException: com.sun.tools.javac.Main
  4. at java.net.URLClassLoader$1.run(Unknown Source)
  5. at java.security.AccessController.doPrivileged(Native Method)
  6. at java.net.URLClassLoader.findClass(Unknown Source)
  7. at java.lang.ClassLoader.loadClass(Unknown Source)
  8. at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
  9. at java.lang.ClassLoader.loadClass(Unknown Source)
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac/M
ain
Caused by: java.lang.ClassNotFoundException: com.sun.tools.javac.Main
  at java.net.URLClassLoader$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)

还弹出对话框,提示如下:

Java代码 复制代码 收藏代码
  1. Could not find the main class: com.sun.tools.javac.Main. Program will exit.
Could not find the main class: com.sun.tools.javac.Main. Program will exit.

 

 

检查了工程的classes目录,正常生成,Eclipse里面的Problems的error都解决了,还是不行,运行Test.java输出为空。

在网上搜索了解决方案是新建立一个工程即可。 但是我这个项目,新建立工程再拷贝一些东西过去,特别麻烦。琢磨了半天,将项目工程逻辑删除,再重新导入,运行一个Test.java,输出"hello world!"成功。

 

 

当然出现这种情况,也有可能是其他原因引起的。具体问题需要具体排查,反正我就这么解决了。