Java 1.7で、サーバーには1.6しかありません。ルート権限はありません。何かをグーグルアウトしようとしましたが、誰もそれをやっていなかったようです。 PATHにそれらを入れることができました。
とても簡単です...
OracleからJDKをtarballとしてダウンロードします(簡単なGoogle検索でリンクが生成されます)。
$ HOMEのどこかに解凍します(たとえば、$HOME/jdk
)。
Java_HOME
をルートJDKインストールのパスに設定します。 $Java_HOME/bin
をPATH
の先頭に追加します。
そして、出発です。
ここでは、JDKの3つの異なるメジャーバージョン6、7、8を実行する限り、特定の設定があります。たとえば、現在のシェルでJava 8を使用するように設定するためのソースファイル:
$ cat ~/.jdk/8
export Java_HOME=/opt/sunjdk/1.8/current
export PATH="$Java_HOME/bin:$PATH"
そして、/opt/sunjdk/1.8
(/opt/sunjdk
はユーザーによって書き込み可能であるため、root
である必要はありません):
$ ls -l /opt/sunjdk/1.8/* -d
lrwxrwxrwx 1 fge fge 11 Oct 30 10:09 /opt/sunjdk/1.8/current -> jdk1.8.0_25
drwxr-xr-x 1 fge fge 274 Mar 18 2014 /opt/sunjdk/1.8/jdk1.8.0_05
drwxr-xr-x 1 fge fge 274 Sep 18 02:44 /opt/sunjdk/1.8/jdk1.8.0_25
(そして、はい、私はroot
から始めて/opt/sunjdk
の書き込み権限を「私の」ユーザーに付与しました。そのような自由がない場合は、あなたの家に別のディレクトリを作成してください)
Oracle は、JREとJDKをLinux用の* .tar.gzとしても提供します。通常、このようなパッケージをダウンロードし、展開/解凍するだけで成功しました(tar -xzvf jdk-8u25.tar.gz
)絶対パスを使用して実行します。
export Java_HOME =/opt/sunjdk/1.8/current
export PATH = "$ Java_HOME/bin:$ PATH"
私にとって、このオプションは、kshの代わりにbashを使用するようにLinuxを変更した場合にのみ機能しました。これが私の会社のある種の構成かどうかはわかりませんが、パスを定義するために"set"
コマンドの代わりに"export"
コマンドを使用してkshを介して実行しようとすると、パスが正しく設定されましたnew Java installation、ただしwhich Java
と入力すると古いバージョンが表示されました。しかし、bashを実行して"export"
と入力すると動作しました。誰かがset
コマンドを使用して設定するのと同じ問題を抱えていますexport
コマンドでbashを使用してみてください。 Redhat 6.2を使用しています。
Condaを使用してこれを達成できました。
Conda は Anaconda によるオープンソースのパッケージマネージャーで、ウェブサイトによると:
ユーザーが書き込み可能なインストール場所を選択した場合、Anacondaをインストールするために管理者権限またはルート権限は必要ありません。
ブラウザから anaconda.org またはコマンドラインでパッケージリポジトリを検索できます。たとえば、ここに [〜#〜] jdk [〜#〜] の結果があります。
Linuxの場合、これをダウンロードします installer 。便宜上、インストーラーを起動するコマンドラインを次に示します。
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh
Condaをインストールしたら、 パッケージのインストール を実行できます。たとえば、JetBrains Runtime OpenJDKビルドをインストールするには:
conda install -c anaconda openjdk
他のビルドは、リポジトリ内の他のチャネルから入手できます。
上記の手順で正常にインストールできますが、 Getting started ガイドを開始するのに適しています。 Condaは、環境の概念を使用して、バージョンとパスを非常にシンプルで簡単な方法で管理できるようにします。
これが誰かの助けになることを願っています。