Нужно узнать в какой версии JDK скомпилирован этот jar файл ? P.S. Это обычный Hello World - я для примера его скомпилировал. OpenJDK или OracleJDK или какие-то другие?
Как это можно сделать? Знаю что вот например команда java -Xinternalversion скажет каким компилятором собиралась данная конкретная версия JDK. Возможно ли так сделать на текущем или на любом другом jar файле?
Если отвлечься от лицензионной стороны вопроса и все равно хочется узнать версию, то можно взять один из class файлов из jar и выполнить
Unix/Linux: javap -verbose MyClass | grep "major"
Windows: javap -verbose MyClass | findstr "major"
Java 1.2: major version 46
Java 1.3: major version 47
Java 1.4: major version 48
Java 5: major version 49
Java 6: major version 50
Java 7: major version 51
Java 8: major version 52
Java 9:major version 53
Java 10: major version 54
Java 11: major version 55
fdkur34, тогда определить какой именно компилятор использовался вы вряд ли сможете. Максимум, можно узнать версию Java, под которую скомпилированы классы. И самый простой способ для этого - воспользоваться дизассемблером
Сергей Горностаев, а как же интересно тогда Oracle будут выявлять кто использует их JDK ?
я слышал что с новой лицензией JDK11 они будут отлавливать тех кто использует бесплатно их JDK в коммерческих целях.
Сергей Горностаев, то есть мне не стоит беспокоиться.
А если не сложно, скажите как это работает? И где можно почитать про это. Был бы Вам очень благодарен.
fdkur34, подобные лицензионные ограничения нужны не для того, чтобы охотиться на индивидуальных пользователей, а чтобы вынудить крупные компании приобретать коммерческие лицензии. Компании масштабов Microsoft, например, не могут себе позволить нарушать лицензию, даже если знают, что их не поймают.
Сергей Горностаев, ааа всё я понял. это как оракл дб, то есть вы можете использовать ее бесплатно, но если у вас что то сломается, либо платите опытному сисадмину, либо же мы вам предлагаем поддержку и мы будем ваши логи изучать и разгребать ваши проблемы, в случай чего.
fdkur34, да, примерно так. Хотя больше напоминает Linux. Исходный код открыт, можешь скачать и использовать любой. А можешь установить SUSE Enterprise, оплатить коммерческую лицензию и пользоваться поддержкой.