Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
b5414 opened this issue Jun 2, 2022 · 3 comments
Open

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

b5414 opened this issue Jun 2, 2022 · 3 comments

Comments

@b5414
Copy link

b5414 commented Jun 2, 2022

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

  • ExamineDirectory(#PB_Any, programFilesDir(i) + "Java", "*"), т.е. if "C:\Program Files (x86)\Java\*"
    но, у инстолятора жава (win) - есть опция: "выбрать кастомную директорию"

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


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


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

  • C:\Program Files (x86)\PureBasic\Compilers\;C:\Program Files\Java64bit\bin;C:\Program Files (x86)\Java32bit\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;
  • аутпут выше - без_изменений/валидный == можно использовать для тестов
  • так же, строка может заканчиваться как на ...bin\;, так и на ...bin;, семиколон есть всегда

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

@b5414 b5414 mentioned this issue Jun 2, 2022
@Kron4ek
Copy link
Owner

Kron4ek commented Jun 2, 2022

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

@jedai86
Copy link

jedai86 commented Jun 2, 2022

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

@b5414
Copy link
Author

b5414 commented Jun 3, 2022

@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 байт)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants