Eclipseを起動する.desktopファイルを作成するにはどうすればよいですか?


11

.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へのPATHが.bashrcに設定されているためです。


私のeclipse.desktopとその質問の唯一の違いは、彼がeclipseを開始するときにいくつかの引数を追加することです。これらの同じ引数を追加すると、同じエラーメッセージが表示されます。Unity .desktopファイルは明らかにEclipseを起動できません。
ディーンシュルツェ14

回答:


9

同じ問題がありました。

次の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.desktopを

私の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オプションとその値(パス)は別々の行になければなりません。

詳細:Wiki eclipse.ini


icon.xpmへのフルパスが必要なのはなぜですか?
ニッキー・デ・マイヤー14年

1
eclipse.desktopファイルはどこに配置しますか?
ジョナサン

1

出力には、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正しいPATH javaが設定されているかどうかを確認してください。正しいパスのみに設定されている場合.bashrc.zshrcなど、これらのスクリプトは、ログイン時に呼び出されていないので、PATHが正しく設定されていない可能性があります。また、あなたが持っている~/.bash_profileか、~/.bash_loginあなたもそれらをチェックする必要がある場合。これらのファイルを提供した場合、これが問題であるかどうかを調べることができます。

この方法で解決できない場合は、.desktopファイルでPATHをいつでも直接変更できます。 env PATH= ...


それがまさに私の問題です。PATHを.bashrcのJDKに設定します。.desktopファイルのドキュメントを見ると、PATHエントリは別のことをしているようです。.desktopでシステムPATHを設定する方法はありますか?
ディーンシュルツェ14

いくつかのグーグル検索の後、解決策は次のようにExec行を変更することであることがわかりまし Exec=env PATH=/home/dean/bin/jdk1.8.0/bin:$PATH /home/dean/bin/eclipse-standard-luna-M5-linux-gtk-x86_64/eclipse/eclipse た。.desktopファイルのドキュメントは役に立ちませんでした。
ディーンシュルツェ14

ただし、exec ....行に対する同じ変更は、idea.shファイルを介してIntelliJを起動する場合は機能しません。
ディーンシュルツェ14

@DeanSchulzeはい、Exec=env PATH= ...それが最後の行で私が意味したことです。通常、.bashrcではなく.profileでPATHを設定します。.profileファイルはログインシェルによって解析されるため、ログイン時にPATHが正しく設定され、env回避策は必要ありません。Debian / Ubuntuでは、.profileソースは.bashrcなので、これは問題になりませんが、.profileがそれを行っていない可能性があるので、確認してください。または、.profile設定を上書きする.bash_profileまたは.bash_loginファイルがあります。
鷹匠14

@DeanSchulze要約すると、.bashrcではなく.profile(またはこれらのファイルのいずれかがある場合は.bash_profileまたは.bash_login)でPATHを設定するか、.bashrcが前述のファイルによって供給されていることを確認してください。このように設定した場合、PATHは.desktopファイルに対しても正しいはずであり、「トリック」する必要はありません。
鷹匠14

1

if [ -n "$BASH_VERSION" ]; thenステートメント内から次のブロックをコピーしました。

if [ -f "$HOME/.bashrc_" ]; then
    . "$HOME/.bashrc"
fi

私もifステートメントなしで試しました:

. "$HOME/.bashrc"

ただし、どちらの場合もEclipseは同じエラーメッセージで失敗します。HOMElightdmの実行時に設定されていないようです~/.profile

明示的にパスを設定することはでき~/.profileますが、PATHと他のBash機能(エイリアス、関数)を同じファイルに保持したいと思います。

解決策は、eclipse.desktop PATHExec=env PATH=$PATH:...行に設定することです。ただし、デスクトップアイコンからIntelliJを起動することはできません。

UnityでLinux GUIエクスペリエンスを再発明していることを考えると、エラーが発生しやすい一連のスクリプトを残して、エラーが発生しにくく使いやすいものを使用するときが来たのかもしれません。スクリプトはまだbashシェル用に存在する必要がありますが、Unityデスクトップはそれらから独立している可能性があります。


1

とても簡単な方法があります。

GeditまたはText Editorを開きます。追加:

[Desktop Entry]
Exec=/home/testrule/eclipse/eclipse
Icon=/home/testrule/eclipse/icon.xpm
Type=Application

デスクトップにとして保存しますeclipse.desktop

eclipse.desktopファイルを右クリックし、[プロパティ]をクリックし、[アクセス許可]タブをクリックします>> [ 実行]のチェックボックスをクリックします

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.