Когда я создаю файл .desktop для запуска eclipse (последняя сборка с поддержкой JDK 1.8), я получаю следующую ошибку:
A Java Runtime Environment (JRE) or Java Development Kit (JDK)
must be available in order to run Eclipse. No Java virtual machine
was found after searching the following locations:
/home/dean/bin/eclipse-standard-luna-M5-linux-gtk-x86_64/eclipse/jre/bin/java
java in your current PATH
Почему он пытается найти JRE в каталоге, где находится eclipse двоичный файл?
Я могу запустить Eclipse из командной строки, и я могу закрепить его на панели запуска, и он работает. Почему файл .desktop так смущен тем, что он должен делать?
Вот мой файл .desktop:
[Desktop Entry]
Version=1.0
Name=Eclipse JDK 1.8
Comment=Eclipse
Exec=/home/dean/bin/eclipse-standard-luna-M5-linux-gtk-x86_64/eclipse/eclipse
Icon=/home/dean/bin/eclipse-standard-luna-M5-linux-gtk-x86_64/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=Utility;Application;
У меня проблема не в том, что было задано в вопрос, связанный выше как дубликат . Моя проблема в том, что мой PATH для JDK установлен в моем .bashrc.
У меня была такая же проблема.
Следующий файл eclipse.desktop работает в Ubuntu 14.06 x64.
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=/home/ivan/Eclipse/eclipse -vm /home/ivan/java/jdk1.7.0_25/bin/java
Icon=/home/ivan/Eclipse/icon.xpm
Categories=Application;Development;Java;IDE
Type=Application
Terminal=0
Я не модифицировал eclipse.ini
Другое решение - изменить файл eclipse.ini без изменения вашего eclipse.desktop
Мой eclipse.ini:
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140116-2212
-product
org.eclipse.epp.package.standard.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
/home/ivan/java/jdk1.7.0_25/bin/java
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
Опция -vm и ее значение (путь) должны быть в отдельных строках.
Дополнительная информация: Wiki eclipse.ini
Вывод говорит, что он также искал в PATH:
No Java virtual machine was found after searching the following locations:
...
java in your current PATH
Вы сказали, что можете запустить eclipse
с терминала: В этом случае я бы сказал, что ваш java
установлен на нестандартный каталог, который добавляется в PATH сценарием запуска терминала (bashrc, zshrc и т. д.), но не добавляется в сеанс при входе в систему. Поэтому, когда вы находитесь в терминальном сеансе, ваш PATH отличается от того, который используется при вызове файла .desktop.
Для устранения неполадок в этом случае:
java
: which java
~/.profile
, правильный ли путь PATH с помощью java
каталог установлен в нем. Если правильный путь задан только в .bashrc
, .zshrc
и т. Д., То возможно, что эти сценарии не будут вызываться при входе в систему, поэтому PATH установлен неправильно. Также, если у вас есть ~/.bash_profile
или ~/.bash_login
, вы должны проверить их тоже. Если вы предоставите эти файлы, мы сможем разобраться, является ли это вашей проблемой. Если вы не можете решить эту проблему таким образом, вы всегда можете изменить PATH непосредственно в файле .desktop с помощью env PATH= ...
Я скопировал следующий блок из оператора if [ -n "$BASH_VERSION" ]; then
:
if [ -f "$HOME/.bashrc_" ]; then
. "$HOME/.bashrc"
fi
Я также пробовал без оператора if:
. "$HOME/.bashrc"
, но Eclipse завершается неудачно с одно и то же сообщение об ошибке в обоих случаях. Очевидно, HOME
не установлено, когда lightdm работает ~/.profile
.
Явная установка пути в ~/.profile
работает, но я хочу сохранить свой PATH и другие функции Bash (псевдонимы, функции) в одном файле.
Решение состоит в том, чтобы установить PATH
в строке Exec=env PATH=$PATH:...
в eclipse.desktop. Однако все, что я пробовал, не работает для запуска IntelliJ с иконки на рабочем столе.
Учитывая, что вы заново изобретаете интерфейс Linux с Unity, возможно, пришло время оставить ряд сценариев, подверженных ошибкам, и использовать что-то менее подверженное ошибкам и более простое в использовании. Для сценариев bash все еще должны присутствовать сценарии, но рабочий стол Unity может быть независимым от них.
У меня очень простой метод.
Откройте Gedit или текстовый редактор. Добавить:
[Desktop Entry]
Exec=/home/testrule/eclipse/eclipse
Icon=/home/testrule/eclipse/icon.xpm
Type=Application
Сохранить на рабочем столе как eclipse.desktop
.
Щелкните правой кнопкой мыши файл eclipse.desktop
> щелкните свойства> щелкните вкладку Разрешения >> Установите флажок Выполнить