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 都会报“找不到或无法加载主类”的错误,我已经遇到好几次了。