2015-04-22 5 views
1

Я пытаюсь определить внутри приложения то, что является версией Java, используемой для вызова JAR.Определить версию Java, используемую для вызова программы

Я видел некоторые решения говорят о System.getProperty(java.version), но что, если пользователь имеет различные версии Java, и команда выглядит так:

C:\Absolute\Path\To\Java\1.5\java -jar something.jar 

Есть ли способ узнать реальную версию Java?

+4

На самом деле, «System.getProperty (java.version)» должен возвращать версию исполняемой Java-виртуальной машины. Вы протестировали его? –

+0

Вы хотите получить версию java из своего 'something.jar'? – JonasCz

ответ

2

Вы должны использовать System.getProperty("java.version"). Это даст вам версию в настоящее время запущена JVM как String. И вы можете проверить префикс, как 1.5 или 1.6, и у вас есть версия Java.

Также проверьте this question и docs за System.getProperty(...).

Надеюсь, это поможет.

2

System.getProperty("java.version") всегда будет предоставлять вам, какая версия java в настоящее время запускает код, который вызывает этот оператор, независимо от того, сколько различных версий java существует в системе.

Смежные вопросы