Open abhinayagarwal opened 1 year ago
If we use JDK 20 but target Java 17 in Maven, it will show Java Version: 17
.
I am guessing this is correct behaviour.
I will think about this and provide a proposal. May be we should distinguish between Java Language version and JVM version used.
Isn't one of them the java with which the app was built and as such it will never change for a given release. The other one is runtime java?
If so, a straightforward solution might be to just clarify the output by adding a new heading below "Logging", e.g. "Runtime Information" since we already have "Build Information" above.
It is indeed the Java language version. You can build with Java 23 and SceneBuilder will show a language version of 22 or 21 or 17 depending on whats declared in POM.xml. Runtime version as you proposed and the language version.
In case Scene Builder is running on a feature release like 20.0.1, it still shows Java version 20 on the build information. Although, the Java version towards the end of the dialog shows correct.
This discrepancy is due to the fact that build information is passed from Maven, which uses the same Java version to compile the project. This version only accepts major release version.
Steps to Reproduce
Run Scene Builder from source using any feature release JDK. Update
<java.version>
property inpom.xml
.Your Environment
Mac OS X, aarch64, 13.3.1
Screenshots