Setting JDK in Eclipse
You manage the list of available compilers in the Window -> Preferences -> Java -> Installed JRE's tab
.
In the project build path configuration dialog, under the libraries tab, you can delete the entry for JRE System Library
, click on Add Library
and choose the installed JRE to compile with. Some compilers can be configured to compile at a back-level compiler version. I think that's why you're seeing the addition version options.
Configuring JDKs
- Windows -> Preferences -> Installed JREs, to configured the installed JDKs
- Project Properties, Java Compiler, Enable project specific settings (or configure Workspace settings), JDK Compliance
- Project Properties, Java Build Path, Libraries, Add Library, JRE system library, Workspace default or Alternate JRE (one of the JREs configured in
Maven
BUT IF you are using maven, provided that you have your latest JRE (Windows/Preferences/Installed JREs) -for example JDK 1.8
You can select the level 1.6, 1.7, 1.8 by configuring the maven-compiler-plugin source and target attributes, like this
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
And ideally, if you have a parent pom, you can do it for all the modules (Eclipse projects) in the parent pom, in one single place.
Source and Target If we want to use the Java 8 language features the –source should be set to 1.8. Also, for the compiled classes to be compatible with JVM 1.8, the –target value should be 1.8.
Updating JRE library that is broken in many projects at once (with Maven)
Rather than updating one by one the JRE library, let Maven do it for you.
Selecting the projects and right-clicking for Maven -> Update Project, will set the system library to the path of the installed JDK, in case the paths are broken (because you installed a new JDK or imported from another computer, etc.) and set the JDK compliance according to the maven source and target setting in the pom.
Some additional steps may be needed to set both the project and default workspace JRE correctly, as MayoMan mentioned. Here is the complete sequence in Eclipse Luna:
- Right click your project > properties
- Select “Java Build Path” on left, then “JRE System Library”, click Edit…
- Select "Workspace Default JRE"
- Click "Installed JREs"
- If you see JRE you want in the list select it (selecting a JDK is OK too)
- If not, click Search…, navigate to Computer > Windows C: > Program Files > Java, then click OK
- Now you should see all installed JREs, select the one you want
- Click OK/Finish a million times
Easy.... not.
To tell eclipse to use JDK, you have to follow the below steps.
- Select the Window menu and then Select Preferences. You can see a dialog box.
- Then select Java ---> Installed JRE’s
- Then click Add and select Standard VM then click Next
- In the JRE home, navigate to the folder you’ve installed the JDK (For example, in my system my JDK was in C:\Program Files\Java\jdk1.8.0_181\ )
- Now click on Finish.
After completing the above steps, you are done now and eclipse will start using the selected JDK for compilation.