
Cuando creo un archivo .desktop para iniciar eclipse (última compilación compatible con JDK 1.8), aparece el siguiente error:
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
¿Por qué intenta encontrar el JRE en el directorio donde está el binario de eclipse?
Puedo iniciar Eclipse desde la línea de comandos, puedo anclarlo al iniciador y funciona. ¿Por qué el archivo .desktop está tan confuso acerca de lo que se supone que debe hacer?
Aquí está mi archivo .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;
El problema que tengo no es lo que me preguntaron enla pregunta vinculada arriba como un duplicado. Mi problema se debe a que mi RUTA al JDK está configurada en mi .bashrc.
Respuesta1
Yo tuve el mismo problema.
El siguiente archivo eclipse.desktop funciona en 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
No modifiqué eleclipse.ini
Otra solución es modificar eleclipse.iniarchivo sin modificar su eclipse.escritorio
Mi 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
La opción -vm y su valor (la ruta) deben estar en líneas separadas.
Más información:Wiki eclipse.ini
Respuesta2
El resultado dice que también buscó en la RUTA:
No Java virtual machine was found after searching the following locations:
...
java in your current PATH
Dijiste que puedes iniciar eclipse
desde una terminal: en este caso, diría que estás java
instalado en un directorio no estándar, que se agrega a tu RUTA mediante un script de inicio de terminal (bashrc, zshrc, etc.) pero no se agrega a su sesión cuando inicia sesión. Entonces, cuando estás en una sesión de terminal, tu RUTA es diferente de la que se usa cuando se invoca el archivo .desktop.
Para solucionar este caso:
- Para ver dónde
java
está instalado:which java
- Verifique
~/.profile
si la RUTA correcta con eljava
directorio está configurada en ella. Si la ruta correcta solo se establece en.bashrc
,.zshrc
, etc., entonces es posible que esos scripts no se invoquen al iniciar sesión, por lo que la RUTA no está configurada correctamente. Además, si tienes~/.bash_profile
o~/.bash_login
tienes que comprobarlos también. Si proporciona estos archivos, podemos investigar si este es su problema.
Si no puedes resolverlo de esta manera, siempre puedes modificar la RUTA directamente en el archivo .desktop conenv PATH= ...
Respuesta3
Copié el siguiente bloque desde dentro de la if [ -n "$BASH_VERSION" ]; then
declaración:
if [ -f "$HOME/.bashrc_" ]; then
. "$HOME/.bashrc"
fi
También lo intenté sin la declaración if:
. "$HOME/.bashrc"
pero Eclipse falla con el mismo mensaje de error en ambos casos. Aparentemente HOME
no está configurado cuando se ejecuta lightdm ~/.profile
.
Establecer explícitamente la ruta ~/.profile
funciona, pero quiero mantener mi RUTA y mis otras características de Bash (alias, funciones) en el mismo archivo.
La solución es configurar el PATH
en Exec=env PATH=$PATH:...
línea en eclipse.desktop. Sin embargo, nada de lo que he probado funciona para iniciar IntelliJ desde un ícono del escritorio.
Dado que está reinventando la experiencia de la GUI de Linux con Unity, tal vez sea hora de dejar atrás la serie de scripts propensos a errores y usar algo que sea menos propenso a errores y más fácil de usar. Los scripts aún tendrían que estar ahí para los shells bash, pero el escritorio de Unity podría ser independiente de ellos.
Respuesta4
Tengo un método muy simple.
Abra Gedit o Editor de texto. Agregar:
[Desktop Entry]
Exec=/home/testrule/eclipse/eclipse
Icon=/home/testrule/eclipse/icon.xpm
Type=Application
Guardar en el escritorio como eclipse.desktop
.
Haga clic derecho en el eclipse.desktop
archivo> haga clic en propiedades> haga clic en la pestaña Permisos >> Haga clic encasilla de verificaciónde ejecutar