(Sublime Text 3) bash: javac: команда не найдена

#java #sublimetext3 #sublimetext #javac

#java #sublimetext3 #sublimetext #javac

Вопрос:

Я пытаюсь получить работающую систему сборки для Java на Sublime Text 3, но всякий раз, когда я пытаюсь что-либо запустить, я просто получаю bash: javac: command not found.

Самое странное во всем этом то, что я могу запустить команду javac с терминала, поскольку я добавил строку

 export JAVA_HOME=/usr/lib/jvm/java-14-openjdk amp;amp; export PATH=$JAVA_HOME/bin:$PATH
  

в файл .bashrc в моем домашнем каталоге.

Итак, я понятия не имею, почему я могу запускать Java-файлы с использованием javac и java с терминала, однако Sublime Text не может.

Вот что у меня есть для моей системы сборки:

 {
   "shell_cmd": "javac "$file_name" amp;amp; java "$file_base_name"",
   "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
   "selector": "source.java",
}
  

Я использую Manjaro 20.

Ответ №1:

Я вижу, что вы используете Manjaro, который является производным от Arch; вместо установки JAVA_HOME переменной, вы должны использовать archlinux-java для установки версии JDK по умолчанию. archlinux-java является частью java-runtime-common пакета.


Если что-то не так, Sublime выведет вашу текущую переменную path (пример). Убедитесь, что пути заданы правильно.

Я попробовал вашу систему сборки на своей машине Arch, и она работает правильно, я также попытался установить JAVA_HOME переменную, и она все еще работает.

Использование Sublime Text 3 для сборки 3211

Комментарии:

1. Спасибо, мне удалось это исправить, указав переменную path в системе сборки, поскольку по какой-то причине Sublime не использовал глобальную (я мог сказать, потому что, когда я запускал ее с терминала, она работала).

Ответ №2:

Для будущих пользователей с такой же проблемой я решил ее, указав переменную path в моей системе сборки, добавив:

 "path":"your/directory/here"
  

Все, куда я добавил строку в .bashrc, оказалось совершенно ненужным, поскольку это исправило это.