Работаю в linux mint.
Создал программу на javaFX + jdk8, собрал в jar .
Установил на Linux 2 версии: JRE 8 и 11. sudo apt-get install oracle-java8-installer sudo apt-get install oracle-java11-installer
И получается так, что если по умолчанию ставлю 11 версию: sudo apt-get install oracle-java11-set-default
То программа слетает даже не запустившись ( видимо из-за того, что оттуда выпилили javaFX)
А если 8 sudo apt-get install oracle-java8-set-default
То все работает отлично. Дак вот, как мне заставить понимать систему, чтобы она запускала мою программу, именно с jre8, даже если по умолчанию в ОС стоит jre11 (но так-же установлена jre8)?
Как с этим дела обстоят в Windows, если там стоит куча java? Или же это не зависит от ОС, и нужно где-то в самой проге прописать конфиги?
В Linux (также UNIX) $PATH — это переменная среды, используемая для указания оболочке, где искать исполняемые файлы. $PATH обеспечивает большую гибкость и безопасность для систем Linux, и, безусловно, можно сказать, что это одна из самых важных переменных среды.
Программы/скрипты, расположенные в каталоге $PATH, могут быть выполнены непосредственно в вашей оболочке без указания полного пути к ним. В этой статье вы узнаете, как установить переменную $PATH глобально и локально.
alfss, ну везде написано, что jre - это jvm + какие-то доп. классы, что за доп. класс? Могу ли я почистить jre от лишнего? Если я буду таскать его с собой везде, то рациональнее его уменьшить в размерах, это возможно?
по ходу ни как, кроме как установкой в путях дефолтного рантайма (в линукс возможно есть еще переменные среды для явы, но я не в курсе)
а если мы говорим об IDE типа IntelliJ - там в проекте явно указывается какой ранйтам надо с ним использовать
если нужно эксплуатировать готовые приложения, заточенные под разные рантаймы, придется выкручиваться - скорее сценариев запуска с переопределением переменных среды и/или указания явных путей запуска рантайма, в большинстве случаев, будет достаточно
Скорпион, что именно? я же шарпист, с явой изредка, и под рукой ее нет. и ответ содержит все по существу.
jvm это и есть рантайм. значит можно запустить с командной строки, указывая явный путь к нужной версии и указав в качестве параметра нужный стартовый jar приложения, и прочие параметры по мере надобности
а значит все тоже самое можно сделать в сценарии - *.bat/com/ps... sh и так далее