
當我建立 .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
為什麼它嘗試在 eclipse 二進位檔案所在的目錄下尋找 JRE?
我可以從命令列啟動 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;
我遇到的問題不是問的問題上面連結的問題是重複的。我的問題是因為我的 JDK 路徑是在 .bashrc 中設定的。
答案1
我有同樣的問題。
下一個 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.桌面
我的 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 選項及其值(路徑)必須位於不同的行上。
更多資訊:維基 eclipse.ini
答案2
輸出確實表明它也在 PATH 中搜尋:
No Java virtual machine was found after searching the following locations:
...
java in your current PATH
你說你可以eclipse
從終端啟動:在這種情況下,我會說你的java
安裝到一個非標準目錄,該目錄通過終端啟動腳本(bashrc、zshrc 等)添加到你的 PATH 中,但沒有添加登入時進入您的會話。因此,當您處於終端會話時,您的 PATH 與呼叫 .desktop 檔案時使用的路徑不同。
要解決此問題:
- 查看
java
安裝位置:which java
- 檢查其中是否設定了
~/.profile
正確的路徑和目錄。如果僅在、等java
中設定了正確的路徑,則可能在登入時未呼叫這些腳本,因此 PATH 設定不正確。另外,如果您有或必須檢查這些。如果您提供這些文件,我們可以調查這是否是您的問題。.bashrc
.zshrc
~/.bash_profile
~/.bash_login
如果您無法透過這種方式解決問題,您可以隨時直接在 .desktop 檔案中修改 PATHenv PATH= ...
答案3
我從語句複製了以下區塊if [ -n "$BASH_VERSION" ]; then
:
if [ -f "$HOME/.bashrc_" ]; then
. "$HOME/.bashrc"
fi
我也嘗試過不使用 if 語句:
. "$HOME/.bashrc"
但 Eclipse 在這兩種情況下都會失敗並顯示相同的錯誤訊息。 lightdm 運作時顯然HOME
未設定~/.profile
。
明確設定路徑是~/.profile
可行的,但我想將 PATH 和其他 Bash 功能(別名、函數)保留在同一個檔案中。
解決方法是在eclipse.desktop中PATH
設定就行了。Exec=env PATH=$PATH:...
然而,我嘗試過的任何方法都無法從桌面圖示啟動 IntelliJ。
鑑於您正在使用 Unity 重塑 Linux GUI 體驗,也許是時候拋棄容易出錯的一系列腳本,而使用不易出錯且更易於使用的腳本了。 bash shell 的腳本仍然必須存在,但 Unity 桌面可以獨立於它們。
答案4
我有一個非常簡單的方法。
開啟 Gedit 或文字編輯器。添加:
[Desktop Entry]
Exec=/home/testrule/eclipse/eclipse
Icon=/home/testrule/eclipse/icon.xpm
Type=Application
在桌面上另存為eclipse.desktop
.
右鍵點選該eclipse.desktop
檔案 > 按一下屬性 > 按一下權限標籤 >> 按一下複選框執行的