Wenn ich eine .desktop-Datei zum Starten von Eclipse erstelle (neueste Version mit JDK 1.8-Unterstützung), wird die folgende Fehlermeldung angezeigt:
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
Warum wird versucht, die JRE unter dem Verzeichnis zu finden, in dem sich die Eclipse-Binärdatei befindet?
Ich kann Eclipse über die Befehlszeile starten und es an den Launcher anheften, und es funktioniert. Warum ist die .desktop-Datei so verwirrt darüber, was sie tun soll?
Hier ist meine .desktop-Datei:
[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;
Das Problem, das ich habe, ist nicht das, was in der oben verlinkten Frage als Duplikat gestellt wurde . Mein Problem ist, dass mein Pfad zum JDK in meiner .bashrc festgelegt ist.
Antworten:
Ich hatte das gleiche Problem.
Die nächste eclipse.desktop-Datei funktioniert in Ubuntu 14.06 x64.
Ich habe die eclipse.ini nicht geändert
Eine andere Lösung ist es, die zu modifizieren eclipse.ini Datei ohne modify Ihre eclipse.desktop
Meine eclipse.ini:
Die Option -vm und ihr Wert (der Pfad) müssen in separaten Zeilen stehen.
Weitere Infos: Wiki eclipse.ini
quelle
Die Ausgabe sagt, dass sie auch im PFAD gesucht hat:
Sie sagten, Sie können
eclipse
von einem Terminal aus starten : In diesem Fall würde ich sagen, dass Ihrjava
Verzeichnis in einem nicht standardmäßigen Verzeichnis installiert ist, das Ihrem PATH durch ein Terminal-Startskript (bashrc, zshrc usw.) hinzugefügt wird, aber nicht hinzugefügt wird zu Ihrer Sitzung, wenn Sie sich anmelden. Wenn Sie sich also in einer Terminalsitzung befinden, unterscheidet sich Ihr PATH von dem, der beim Aufrufen der .desktop-Datei verwendet wird.So beheben Sie diesen Fall:
java
installiert ist:which java
~/.profile
ob der richtige Pfad mit demjava
Verzeichnis darin festgelegt ist. Wenn der richtige Pfad nur in festgelegt ist.bashrc
,.zshrc
usw. , dann ist es möglich , dass dieser Skripte nicht auf Login aufgerufen wird , so wird der Pfad nicht richtig eingestellt. Auch wenn Sie diese haben~/.bash_profile
oder~/.bash_login
auch überprüfen müssen. Wenn Sie diese Dateien bereitstellen, können wir prüfen, ob dies Ihr Problem ist.Wenn Sie es auf diese Weise nicht lösen können, können Sie den PATH jederzeit direkt in der .desktop-Datei mit ändern
env PATH= ...
quelle
Exec=env PATH=/home/dean/bin/jdk1.8.0/bin:$PATH /home/dean/bin/eclipse-standard-luna-M5-linux-gtk-x86_64/eclipse/eclipse
Die Dokumente für die .desktop-Datei waren keine Hilfe.Exec=env PATH= ...
das habe ich in meiner letzten Zeile gemeint. Normalerweise möchten Sie PATH in .profile einrichten, nicht in .bashrc. Die .profile-Datei wird von der Anmeldeshell analysiert, sodass PATH beim Anmelden korrekt eingerichtet wird. Die Problemumgehung ist dann nicht erforderlichenv
. Auf Debian / Ubuntu .profile-Quellen .bashrc sollte dies also kein Problem sein, aber möglicherweise tut es Ihr .profile nicht, also überprüfen Sie es. Oder Sie haben eine .bash_profile- oder .bash_login-Datei, die die .profile-Einstellungen überschreibt.Ich habe den folgenden Block aus der
if [ -n "$BASH_VERSION" ]; then
Anweisung kopiert :Ich habe es auch ohne die if-Anweisung versucht:
Eclipse schlägt jedoch in beiden Fällen mit derselben Fehlermeldung fehl. Anscheinend
HOME
ist nicht eingestellt, wenn lightdm läuft~/.profile
.Das explizite Festlegen des Pfads in
~/.profile
Works, aber ich möchte meinen PATH und meine anderen Bash-Funktionen (Aliase, Funktionen) in derselben Datei behalten.Die Lösung besteht darin,
PATH
dieExec=env PATH=$PATH:...
Zeile in eclipse.desktop festzulegen. Nichts, was ich versucht habe, funktioniert jedoch, um IntelliJ über ein Desktop-Symbol zu starten.Angesichts der Tatsache, dass Sie die Linux-GUI-Erfahrung mit Unity neu erfinden, ist es möglicherweise an der Zeit, die fehleranfällige Reihe von Skripten hinter sich zu lassen und etwas zu verwenden, das weniger fehleranfällig und einfacher zu verwenden ist. Die Skripte müssten immer noch für Bash-Shells vorhanden sein, aber der Unity-Desktop könnte unabhängig von ihnen sein.
quelle
Ich habe eine sehr einfache Methode.
Öffnen Sie Gedit oder Texteditor. Hinzufügen:
Auf dem Desktop speichern unter
eclipse.desktop
.Klicken Sie mit der rechten Maustaste auf die
eclipse.desktop
Datei> klicken Sie auf Eigenschaften> klicken Sie auf die Registerkarte Berechtigungen >> Klicken Sie auf das Kontrollkästchen Ausführenquelle