JAVA_HOME
ディレクトリを見つけるために使用できるlinuxコマンドはありますか?私は環境変数( "env")を出力しようとしましたが、ディレクトリを見つけることができません。LinuxのJAVA_HOMEディレクトリ
答えて
echo $JAVA_HOME
設定されている場合、値が印刷されます。ただし、起動スクリプトで手動で設定しなかった場合は、おそらく設定されていません。
which java
を試しても問題が見つからない場合は、マシンにJavaがインストールされていないか、少なくともあなたのパスにJavaがインストールされていない可能性があります。あなたが持っているLinuxディストリビューションと、root権限を持っているかどうかによって、http://www.java.comにアクセスして、必要なバージョンをダウンロードすることができます。次に、このディレクトリを指すようにJAVA_HOMEを設定できます。これは単なる規約であり、javaがインストールされているかどうかを判断するためには使用しないでください。端末上
、タイプ:
が
を「$ JAVA_HOMEを」エコーあなたは何を取得していない場合は、ご使用の環境変数JAVA_HOMEが設定されていません。あなたは "locate java"を使ってJavaのインストールがどこにあるのかを試してみることができます。
あなたは
- あなたのJAVA_HOMEを設定しましたKornシェルおよびBashシェル:輸出JAVA_HOME = JDK-インストール先ディレクトリ
- Bourneシェル:JAVA_HOME = JDKインストール・ディレクトリ;輸出JAVA_HOME
- Cシェル: setenv JAVA_HOME JDKインストール-dirの
セミコロンがありませんか?トム –
、ました'/ usr/lib/jvm/java-7-openjdk-amd64 /'を実行します。 –
私はこれが遅れている知っているが、このコマンドを使用し
用のJavaを見つけるためには/ usr /ディレクトリを検索あなたは、Mac上にある場合FYI/usr/lib/jvm/java-6-openjdk
/usr/lib/jvm/java-1.6.0-openjdk
から
sudo find /usr/ -name *jdk
結果は、現在、JAVA_HOMEは、あなたがMacのあなたに$(dirname $(dirname $(readlink -f $(which javac))))
を実行することができます
Linuxの/System/Library/Frameworks/JavaVM.framework/Home
私は – bulltorious
をインストールしていたのOracle VMを見つけること sudoを見つける/ -name * javacの を使用していたおかげであなたは私のパスとして 'sudoを見つけることは/ usr/-name * JDK *'をしようとする場合があります固定 – JVE999
に位置しています実行することができます$(dirname $(readlink $(which javac)))/java_home
私は窓についてはよく分からないが、私はwhere javac
は、使用環境変数の値を表示するには
これは素晴らしい解決策ですが、Javaが複数のリンクで設定できるので、readlinkに標準的なフラグを使うことを忘れないでください。 '$(dirname $(dirname $(readlink -f $(javac))))' on '代わりにLinux –
ありがとう@ MatthewO'Riordan! linuxコマンドの '-f'フラグを追加しました。 macの 'readlink'は' GNU'バージョンではないので、私はスクリプトのmacバージョンで '-f'を除外しました。 brewを介してインストールされた 'readlink'の' GNU'版を持っているMacユーザーは '-f'を使うことができます。 – jsdevel
これは、異なるJavaバージョンを管理するために/ etc/alternativesを使用する人に特に適しています。 – gilbertpilz
あなたはかなり近づく想像:
はあなたにとても$ VARIABLE
をエコー場合は、次のようになります。
エコー$ JAVA_HOME
あなたはそれがsettedていない場合は、あなたの.bashrc
ファイルに追加することができます。
輸出JAVA_HOME = $(READLINK -fは/ usr/binに/ javaの| sed "s:bin/java ::")
パッケージを更新すると動的に変更されます。
はFedoraとUbuntuで正常に動作します –
安全でないsedコマンド:/ usr/bin/javaが '/ usr/bin/java-8/bin/java'へのシンボリックリンクだったらどうなりますか? '/ usr/-8/bin/java'という出力が得られます。 – GKFX
素晴らしいソリューション! jreをjreの代わりにhomeとして使いたい場合は、readlink -f/usr/bin/java | sed "s:jre/bin/java ::" – cyberoblivion
http://www.gnu.org/software/sed/manual/html_node/Print-bash-environment.html#Print-bash-environment
あなたが本当にあなたのBASHに関するいくつかの情報を取得したい場合は、あなたの.bashrcにそのスクリプトを入れて、それが飛ぶ見ます。スクロールして見渡すことができます。 $JAVA_HOME
は、お使いの環境で定義されている場合
...
$ echo $JAVA_HOME
$ # I am not lucky...
あなたはロードされたクラスからそれを推測することができます。
$ java -showversion -verbose 2>&1 | head -1
[Opened /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre/lib/rt.jar]
このメソッドを使用すると、複数のインストールがある場合に使用正しいjdk
/jre
を見つけることが保証されます。
またはstrace
を使用して:
$ strace -e open java -showversion 2>&1 | grep -m1 /jre/
open("/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre/bin/../lib/amd64/jli/tls/x86_64/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
ちょうど別の解決策、この1のクロスプラットフォーム(java
を使用しています)、およびJREの場所にあなたを指します。
java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home'
出力java
の現在の設定がすべて、とはjava.home
と呼ばれるものを見つけました。
JAVA_HOMEを見つける方法はたくさんありましたが、これは最高のものだと思います!言及してくれてありがとう! – ricovox
それは助けてよかった! –
JDK1.7(IIRC)での作業が始まったと言えるでしょう。その前に、 'jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty(" java.home "));''を呼び出す必要がありました。どちらの場合も、 'クロスプラットフォーム'の側面では、 '/ usr/bin/env'の前に置くことをお勧めします。 – Moreaki
はここでstdoutにディレクトリだけをつかんで、改善ません:
java -XshowSettings:properties -version 2>&1 \
| sed '/^[[:space:]]*java\.home/!d;s/^[[:space:]]*java\.home[[:space:]]*=[[:space:]]*//'
少し短いですが、2つではなく3つのフォークでは、次のようになります: '$ {JAVA_HOME:= $(/ usr/bin/env java -XshowSettings:properties -version 2>&1 | grep" java.home "| -d2 = "-f2"} – Moreaki
パスを直接エクスポートする必要がある場合、 'export $(/ usr/bin/env java -XshowSettings:properties -version 2>&1 | grep" java.home "| sed -e 's/java.home/JAVA_HOME /; s/// g;') ' – Moreaki
- 1. MavenのJava_home
- 2. マッピング2ディレクトリlinux-server
- 3. Linuxは、すべてのディレクトリ
- 4. Linuxの部分ディレクトリ一覧
- 5. Linuxの擬似ディレクトリをシミュレート
- 6. Linux:/ dev/null /:ディレクトリです
- 7. Linux上で実行中のプログラムのディレクトリ?
- 8. PythonでのLinux上のファイルとディレクトリ
- 9. ディレクトリであったファイルをlinuxのディレクトリに戻すには?
- 10. linux findコマンドの出力ディレクトリ名
- 11. Redhat Linux - ディレクトリの色を変更
- 12. システム/ファイル/ディレクトリ/アプリケーションバックアップの方法 - Linux
- 13. Linux上にQt Creatorとビルド構成ディレクトリ
- 14. ディレクトリを移動するLinuxコマンド
- 15. WindowsのSET JAVA_HOMEが動作しない
- 16. Linux OpenJDK DebianベースのディストリビューションのJAVA_HOME envrionment変数の正しい対象は何ですか?
- 17. <JAVA_HOME>/JRE/libディレクトリ内のjarファイルがない、ブートストラップクラスローダによってロードされたのはなぜ
- 18. 代替システムを使用するLinuxシステムでJAVA_HOMEの正しいパスは何ですか?
- 19. LinuxでJAVA_HOMEシステム全体を設定する良い方法は何ですか?/etc/profileまたは/etc/profile.d/custom.sh?
- 20. CプログラムのLinuxシェルの作業ディレクトリの変更
- 21. Cのプログラムを使ってLinuxの前のディレクトリに戻る
- 22. コピーLinuxのgitのディレクトリ起こすerrror「致命的:悪いオブジェクトヘッダ」
- 23. Linuxのプログラムでディレクトリのサイズを取得する方法は?
- 24. linux/bsd上のワークステーション上の異なるユーザーとディレクトリを共有
- 25. LinuxでJavaプログラムの作業ディレクトリを変更する
- 26. 私はcli経由でlinuxのディレクトリを削除する方法
- 27. Linux上のディレクトリを効率的に監視する方法は?
- 28. linuxのディレクトリに移動する方法は?
- 29. phpデーモンをインストールするのに適切なlinuxディレクトリ
- 30. LinuxマシンでCのディレクトリをロックするには
JAVA_HOMEは、もはやLinuxシステムで定義され、推奨されていません。 –
@PeterQuiringあなたはその声明のためにあなたのソースを挙げるべきです。あなたは間違っています。 – harschware
@harschware Ubuntuをインストールすると、JDKがインストールされていても、JAVA_HOMEは設定されません。/usr/share/doc/openjdk-8-jre-headless/JAVA_HOMEも読んでください。JAVA_HOMEはもはや必要なくなっているはずです(レガシー)。 –