参考自:https://blog.csdn.net/u014330421/article/details/78810768
1. 为什么要在使用eclipse敲代码之前设置JDK、JRE:
eclipse是由java代码写的,eclipse要运行,就要有java环境JRE,故当我们安装了JRE之后,就可以直接运行eclipse,在eclipse里面敲代码了。
2. 那么eclipse是怎么找到JRE的呢?
当我们安装JDK、JRE的时候,系统会自动复制java.exe程序到C:\Windows\System32这个文件夹里面eclipse就是通过这个java.exe来运行的,故eclipse自动根据这个路径去找到他,然后运行。
3. 那么为什么还要设置环境变量:
除了eclipse之外,其他的应用,比如:Maven,Ant等不会自动去找,即不认识上面的路径,所以要在环境变量里面配置, 方便这些应用程序的访问。
4. 在eclipse里面配置编译时环境和运行时环境
(一)eclipse中的JDK与JRE:
其实写这篇文章的出发点就是因为在Eclipse中用maven时,被各种jre、jdk搞得混乱,于是决定弄清楚。先简单的介绍一下:
Eclipse:是一款集成开发的IDE,可以开发,编译,调试,运行代码等;
JDK:java开发工具,用来将.java文件编译成字节码文件;
JRE:java运行时环境,执行编译后得字节码文件;
Maven:一款项目管理工具;
Eclipse中其实内嵌了Java编译器,其编译器的作用等同于jdk中的javac,所以eclipse其实只需要jre就可以编译java文件(在eclipse中当你保存一个java类时,它就会自动编译这个java类,相当于在命令行中用了javac这个命令)。但如果你在eclipse中用了maven这样的工具,可能就无法编译了。因为maven默认使用javac来编译项目的,也就是需要jdk,而如果你的eclipse中某maven项目只指定了jre,就会出现无法编译的情况。就像是启动Tomcat只需要jre,原因是Tomcat中已经包括了源代码编译器,不需要jdk中的javac来编译。
(二)Eclipse中有几处会用到jdk和jre的,下面列出几个,也是我混乱之处所在
(1)Window->preferences->Java->Installed JREs
这里Installed JREs中的可以理解为“全局常量”,这里设置好,之后新建的项目都默认用这里选定的jre或者jdk,但如果项目中用了maven的话,前面说了maven默认的是jdk中的javac来编译,所以如果这里还是用jre的话就会maven install出错,需要选择jdk才行。更改直接Add->Standard VM,点击directory,选择相应的jdk或者jre路径确定即可。
(2)给不同的项目选择不同的jre
右击项目名称->build path->configure build path,选择libraries选项卡,选中jre:
点击edit:
可根据不同的需求选择不同的选项卡,并按照提示完成操作即可。注意,当你选择第二个选项卡“替代JRE”时,eclipse会跳转至installed jre中让你选择,因此,需要你提前在installed jre中配置好。
(3)Window ->preferences->java->compiler
这里也会有一个jdk的选择,就是编译时jdk的版本,需要注意的一点是:
编译时的jdk版本不能高于项目build path中的jdk即运行时jdk,因为高版本中的有些功能在低版本中并不提供。例如,项目中用了泛型,编译时为jdk1.5但运行时为jdk1.4,虽然编译时不报错,但运行时就会出错,因为jdk1.4并不支持泛型;反过来,编译时为jdk1.4而运行时为jdk1.5,虽然编译时报错,但却可以正确运行。