Kron4ek / minecraft-vortex-launcher

Fast, lightweight and easy to use Minecraft launcher
GNU General Public License v3.0
306 stars 30 forks source link

No Java installed [OR] Custom Java Directory | Windows #50

Open b5414 opened 2 years ago

b5414 commented 2 years ago

Насколько я вижу, в функции findJava(), жава ищется в директории таким образом:

Так вот, лично я её пользую каждую установку, например можно закинуть java на 2й ссд, либо просто в другую директорию (пример ниже) как это сделал я, следовательно лаунчер напишет: жабы нет


Да, я прекрасно понимаю, что искать по всем папка жаву - не выход, [и я догадываюсь, что @Kron4ek больше в линукс, чем в виндовс,] но, у шинды(как и вроде у линуха) есть замечательные якоря/переменные среды/environment variables, например %appdata%...


В общем, я потестил GetEnvironmentVariable("Path") - работает нормально, выдает такую строку:

Отсюда уже - можно получить валидный путь к жаве 🙂

Kron4ek commented 2 years ago

Не знаю, будут ли я это реализовывать. Но я приму к сведению, что Java при установке прописывает себя в Path, спасибо за информацию. И да, на Linux тоже есть PATH и прочие переменные окружения, но на винде как-то не подумал про это.

jedai86 commented 2 years ago

Вообще-то если устанавливать обычную java с сайта Oracle то она ничего не прописывает в path, если ставить jdk 16, 17 и т.п., прописывают только инсталяторы Adoptium или bellsoft, вы могли конечно руками прописать path, но получается что такое решение тоже не универсально.. поэтому при любых кастомах я думаю лучше использовать именно функцию указания своего пути в настройках. В своем форке я сделал по-тупому и просто ищу дополнительно папки Adoptium и bellsoft если настройки заданы по умолчанию.

b5414 commented 2 years ago

@jedai86 да, я указал пути потому-что думал, что так лаунчер и работает, но нет;

Всё-таки указывается, но не каждый инсталл, а конкретно C:\Program Files (x86)\Common Files\Oracle\Java\javapath;, тут лежит "какая-то жаба" (вроде бы альяс)

> "C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe" -version
java version "1.8.0_333"
Java(TM) SE Runtime Environment (build 1.8.0_333-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.333-b02, mixed mode)
< size: 271 КБ (278 296 байт)
> "C:\Program Files\Java64bit\bin\java.exe" -version
java version "1.8.0_333"
Java(TM) SE Runtime Environment (build 1.8.0_333-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.333-b02, mixed mode)
< size: 271 КБ (278 296 байт)

на всякий случай - java32: < size: 241 КБ (247 576 байт)