Lorsque je crée un fichier .desktop pour lancer Eclipse (dernière version prise en charge par JDK 1.8), l'erreur suivante apparaît:
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
Pourquoi cherche-t-il à trouver le JRE dans le répertoire où se trouve le binaire Eclipse?
Je peux lancer Eclipse à partir de la ligne de commande et le brancher au lanceur pour que cela fonctionne. Pourquoi le fichier .desktop est-il si confus quant à ce qu'il est censé faire?
Voici mon fichier .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;
Le problème que je rencontre n’est pas ce qui a été demandé dans la question liée ci-dessus en double . Mon problème est parce que mon chemin d'accès au JDK est défini dans mon .bashrc.
J'ai copié le bloc suivant à partir de l'instruction if [ -n "$BASH_VERSION" ]; then
:
if [ -f "$HOME/.bashrc_" ]; then
. "$HOME/.bashrc"
fi
J'ai aussi essayé sans la déclaration if:
. "$HOME/.bashrc"
mais Eclipse échoue avec le même message d'erreur dans les deux cas. Apparemment, HOME
n'est pas défini lorsque lightdm exécute ~/.profile
.
Définir explicitement le chemin dans ~/.profile
fonctionne, mais je souhaite conserver mon chemin PATH et mes autres fonctionnalités Bash (alias, fonctions) dans le même fichier.
La solution consiste à définir le PATH
sur la ligne Exec=env PATH=$PATH:...
dans Eclipse.desktop. Rien que j'ai essayé ne fonctionne cependant pour démarrer IntelliJ à partir d'une icône de bureau.
Étant donné que vous réinventez l'expérience de l'interface graphique Linux avec Unity, il est peut-être temps de laisser la série de scripts sujette aux erreurs et d'utiliser quelque chose de moins sujet aux erreurs et plus facile à utiliser. Les scripts devraient toujours être là pour les shells bash, mais le bureau Unity pourrait en être indépendant.
J'ai eu le même problème.
Le fichier Eclipse.desktop suivant fonctionne dans 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
Je n'ai pas modifié le fichier Eclipse.ini
Une autre solution consiste à modifier le fichier Eclipse.ini sans modifier votre Eclipse.desktop
Mon 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
L'option -vm et sa valeur (le chemin) doivent figurer sur des lignes séparées.
Plus d'infos: Wiki Eclipse.ini
La sortie dit qu'elle a aussi cherché dans le PATH:
No Java virtual machine was found after searching the following locations:
...
Java in your current PATH
Vous avez dit que vous pouvez lancer Eclipse
depuis un terminal: dans ce cas, je dirais que votre Java
est installé dans un répertoire non standard, qui est ajouté à votre PATH par un script de démarrage de terminal (bashrc, zshrc, etc.), mais il pas ajouté à votre session lorsque vous vous connectez. Ainsi, lorsque vous êtes dans une session de terminal, votre PATH est différent de celui utilisé lorsque le fichier .desktop est appelé.
Pour résoudre ce cas:
Java
est installé: which Java
~/.profile
si le PATH correct avec le répertoire Java
est défini dans celui-ci. Si le chemin correct est uniquement défini dans .bashrc
, .zshrc
, etc., il est possible que ces scripts ne soient pas appelés lors de la connexion. Le PATH n'est donc pas défini correctement. De plus, si vous avez ~/.bash_profile
ou ~/.bash_login
, vous devez également les vérifier. Si vous fournissez ces fichiers, nous pouvons déterminer s'il s'agit de votre problème.Si vous ne pouvez pas le résoudre de cette façon, vous pouvez toujours modifier le PATH directement dans le fichier .desktop avec env PATH= ...
J'ai une méthode très simple.
Ouvrez Gedit ou l'éditeur de texte. Ajouter:
[Desktop Entry]
Exec=/home/testrule/Eclipse/eclipse
Icon=/home/testrule/Eclipse/icon.xpm
Type=Application
Enregistrer dans le bureau sous Eclipse.desktop
.
Clic droit sur le fichier Eclipse.desktop
> cliquez sur propriétés> cliquez sur l'onglet Autorisations >> Cliquez sur le bouton case à cocher d'exécution