
Eclipse (JDK 1.8 をサポートする最新ビルド) を起動するために .desktop ファイルを作成すると、次のエラーが発生します。
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 への PATH が .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
ディレクトリを含む正しい PATHjava
が設定されているかどうかを確認してください。正しいパスが.bashrc
、.zshrc
などにのみ設定されている場合、ログイン時にそれらのスクリプトが呼び出されず、PATH が正しく設定されていない可能性があります。また、~/.bash_profile
または がある場合は~/.bash_login
、それらも確認する必要があります。これらのファイルを提供していただければ、これが問題であるかどうかを調査できます。
この方法で解決できない場合は、.desktopファイル内のPATHを直接変更することができます。env PATH= ...
答え3
ステートメント内から次のブロックをコピーしましたif [ -n "$BASH_VERSION" ]; then
。
if [ -f "$HOME/.bashrc_" ]; then
. "$HOME/.bashrc"
fi
if ステートメントなしでも試してみました:
. "$HOME/.bashrc"
しかし、Eclipse はどちらの場合も同じエラー メッセージで失敗します。どうやらHOME
lightdm の実行時には設定されていないようです~/.profile
。
パスを明示的に設定することはでき~/.profile
ますが、PATH とその他の Bash 機能 (エイリアス、関数) を同じファイルに保持したいと思います。
解決策は、eclipse.desktop の 行に を設定することですPATH
。Exec=env PATH=$PATH:...
ただし、デスクトップ アイコンから IntelliJ を起動する方法を試しても何も機能しません。
Unity で Linux GUI エクスペリエンスを再構築するのであれば、エラーが発生しやすい一連のスクリプトを捨てて、エラーが発生しにくく使いやすいものを使用する時期かもしれません。スクリプトは bash シェル用にまだ存在している必要がありますが、Unity デスクトップはそれらから独立している可能性があります。
答え4
とても簡単な方法があります。
Gedit またはテキスト エディターを開きます。以下を追加します。
[Desktop Entry]
Exec=/home/testrule/eclipse/eclipse
Icon=/home/testrule/eclipse/icon.xpm
Type=Application
デスクトップに名前を付けて保存しますeclipse.desktop
。
ファイルを右クリックeclipse.desktop
> プロパティをクリック > アクセス許可タブをクリック >>チェックボックス実行の