spark大数据蘑菇云系列文章之填坑记录: No compiler is provided in this environment错误


好好地,scala for eclipse突然出现这个错误,导致class不能运行,工程不能maven test,更甭说打包测试了。

下面是原始的日志信息:

[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!

[INFO] skip non existing resourceDirectory D:\scalasrc\WebLogAnalysis\src\main\resources

[INFO] 

[INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ WebLogAnalysis ---

[INFO] Changes detected - recompiling the module!

[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!

[INFO] Compiling 9 source files to D:\scalasrc\WebLogAnalysis\target\classes

[INFO] -------------------------------------------------------------

[ERROR] COMPILATION ERROR : 

[INFO] -------------------------------------------------------------

[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

[INFO] 1 error

[INFO] -------------------------------------------------------------

[INFO] ------------------------------------------------------------------------

[INFO] BUILD FAILURE

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 2.342 s


看这句奇葩的提示:

Perhaps you are running on a JRE rather than a JDK?


兄弟,我怎么可能没有jdk呢?


解决流程:

1、验证JDK安装:

  直接在 cmd 下 javac 然后 java 运行试试,如果这都报错,那是你的 jdk 或者 os 环境有问题了。


2、修改JRE的路径:

   eclipse菜单 -  Window - Preferences- Java - Installed JREs 将配置的JRE定位到JDK,例如JRE home:D:\Program Files (x86)\Java\jdk1.6.0_45

  2、ALT+F5 进行  update project 。

  3、Debug or Run again.


3、修改源代码路径:

    是因为.Java文件不在项目的src路径内,也就是说源代码未被eclipse编译,字节码不存在无法运行了在项目名上右键 -> Builder Path -> Configure Build Path -> 选择Source面板 再点Add Folder, 把源代码所在的包路径的上层目录加进来,而且如果你是把两个类写在一个文件里的话,你在右键选择Run As Java Appication 的时候,要把光标至于包括main方法的类上


4、查看文件:

  打开带有main函数的类,ctrl +A (全选)---> ctrl +X(剪切)-----> ctrl+S(保存)--->关闭---->再打开--->ctrl +C (粘贴) ---->OK;一句话就是粘出去 关闭 再粘进来



总结:有时候 Eclipse 会发神经,好端端的 project 就这么编译不了了,连 Hello World 都会报“找不到或无法加载主类”的错误,我已经遇到好几次了。