JMC-6513: Wrong version of compiled classes when importing JMC maven projects in Eclipse with JDT Default Compiler Level of 11

Langer, Christoph christoph.langer at
Thu Jun 20 21:55:59 UTC 2019


please let me know what you think of this patch:



I'm having issues when importing the jmc projects into my Eclipse which has a default JDK compiler level of 11. Although the JMC projects define a JSE18 in their .classpath files, the classes get compiled with Java 11 version. This can be helped by creating ".settings/org.eclipse.jdt.core.prefs" files which set the compiler to 1.8. Then these issues were gone. So, in my patch I propose to add them. A Java compiler level of 8 is needed in Eclipse because I want to be able to run/debug with any JDK down to 8.

Something is a bit weird though with maven import. On my Windows Eclipse I observe that the import would generate these .settings/org.eclipse.jdt.core.prefs as contained in the patch. However, this import also regenerates some .classpath files which brings other issues and is not what is wanted. On my Eclipse on Mac, I don't see neither .settings/org.eclipse.jdt.core.prefs getting generated nor .classpath files rewritten. Maven settings in both Eclipse installations seem to be the same. Does anybody have an explanation for that?

So, AFAICS, I don't think my patch causes any harm and can safely be used. There's also precedence for that such as the projects in jmc/core (which compile with JDK 1.7), as well as project jmc/application/org.openjdk.jmc.osgi.extension which was introduced by the patch for JMC-5859 [1].




More information about the jmc-dev mailing list