source -> The level (JDK version) to which the source code must be compliant to, for example you can write source code using a JDK 1.6 which is compliant to Java 1.5. However you can also use the StringBuilder class which does not exist in Java 1.5 target -> The class version of the generated class files. The class format changes with some Java version, for example as some stuff may be added for performance reason. For example if a new byte code instruction comes up (like 'invokedynamic') this really makes a change. Or another example (I'm not really sure about it): As far as I think a stack map has been added from Java 5 to Java 1.6. This should improve performance and makes subtle differences when ClassNotFoundException are thrown. You can use a JDK to compile code for different but lower versions. This way can benefit from some optimizations which weren't available with the old JDK and are compatible.
With regards Sebastian -----Ursprüngliche Nachricht----- Von: Lin Ma [mailto:lin...@gmail.com] Gesendet: Montag, 30. März 2015 07:46 An: Maven Users List Betreff: about source and target in maven-compiler-plugin Hello Maven masters, For maven-compiler-plugin(a sample below), have a quick question. I read this document (http://maven.apache.org/plugins/maven-compiler-plugin/), and confused what means source and target 1.5 here, it seems it is an internal version number of Maven, independent of JDK? <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> thanks in advance, Lin --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org