Here's where you'll find it easier to confuse and set errors in Eclipse. The functions shown are as follows:
The most accurate explanation is as follows:
Build path is the run-time environment
compiler is a compile-time environment
Assuming that your code is generic, and the build Path environment is 1.4 for the 1.5,compiler Environment, a compilation error is displayed and cannot be compiled, but such a Web project can be run in a web container, provided that you easily support 1.5 syntax.
Build path is the environment level of your class file and is not used by compilers, for example, if you use 1.4, you cannot use generics. The compiler compliance level sets the Java code you have written to compile according to what JDK version, For example: Set is 1.4, the compiled class file can be run on more than 1.4 JRE, if the use of 5-level compilation, you can not run in the environment of 1.4, will be prompted version too high. In short, as long as the JDK version of Build path is above or equal to the level within compiler compliance levels.
Above transfer from: http://www.iteye.com/problems/51267
The difference between the JDK version in the Java build path in the Eclipse project and the Java Compiler Compiler compliance level (RPM)