更新:以下のルート権限なしのインストール
問題を解決できる(準公式の)リポジトリがすでにある場合は、ubuntuシステムに手動でパッケージをインストールしないことをお勧めします。さらに、(非常に散発的な)互換性の問題を回避するために、Oracle JDKを開発に使用します(私は何年も前に試しましたが、今は確かに優れています)。
システムにwebupd8リポジトリを追加します。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
お好みのバージョンのjdkをインストールします(java-6からjava-9までのバージョンが利用可能):
sudo apt-get install oracle-java8-installer
複数のバージョンのjdkをインストールして、openjdkとoracleバージョンを混在させることもできます。次に、コマンドupdate-java-alternativesを使用して、インストールされているバージョンを切り替えることができます。
# list available jdk
update-java-alternatives --list
# use jdk7
sudo update-java-alternatives --set java-7-oracle
# use jdk8
sudo update-java-alternatives --set java-8-oracle
必要条件
あなたが得る場合はadd-apt-repository: command not found
しているようにしてくださいsoftware-properties-common
インストール:
sudo apt-get install software-properties-common
古いバージョンのUbuntuを使用している場合:
sudo apt-get install python-software-properties
root権限なしのJDKインストール
ターゲットマシンの管理者権限がない場合、最も簡単な方法はsdkman
、zulu認定のopenjdkのインストールに使用することです。
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java
注:sdkmanでは、デフォルトのオプションではありませんが、公式のOracle JDKもインストールできます。利用可能なバージョンを表示:
sdk ls java
選択したバージョンをインストールします:
sdk install java <version>
例えば:
sdk install java 9.0.1-oracle
コマンドの用語集
sudo <command> [command_arguments]
:スーパーユーザー権限でコマンドを実行します。
add-apt-repository <PPA_id>
:Ubuntu(すべてのDebian派生物と同じように、一般にすべてのLinuxディストリビューションと同様)には、パッケージの依存関係や更新などを処理するパッケージのメインリポジトリがあります。Ubuntuでは、通常システムで使用できないパッケージ(oracle jdkのような)または使用可能なパッケージの更新バージョン(例:LTSのLibreOffice 5はこれを通じてのみ使用可能)を含むPPA(パーソナルパッケージアーカイブ)を使用してメインリポジトリを拡張できます。PPA)。
apt-get [install|update|upgrade|purge|...]
:システム上のすべてのリポジトリの状態を操作するために使用される「the」コマンドラインパッケージハンドラです(インストール/更新/アップグレードは、リポジトリの現在の状態の変更と見なすことができます)。
私たちの場合:コマンドsudo add-apt-repository ppa:webupd8team/java
を使用して、次のリポジトリ更新でパッケージ情報もwebupd8リポジトリから取得する必要があることをシステムに通知します。
ではsudo apt-get update
、我々は実際にシステムのリポジトリを更新(私たちは前に付加して、このすべての操作は、スーパーユーザ権限が必要ですSUDOコマンドに)。
sudo apt-get install oracle-java8-installer
update-java-alternatives(update-alternativesの特定のJavaバージョン):Ubuntuでは、いくつかのパッケージが同じ機能を提供します(インターネットの閲覧、メールのコンパイル、テキストファイルの編集、またはjava / javac実行可能ファイルの提供など)。システムが特定のタスクを指定してユーザーのお気に入りツールを選択できるようにするために、下のシンボリックリンクを使用するメカニズム/etc/alternatives/
が使用されます。上記のようにjdkを更新して(java 7とjava 8を切り替え)、このコマンドの出力を変更する方法を確認します。
ls -l /etc/alternatives/java*
私たちの場合:sudo update-java-alternatives --set java-8-oracle
/ etc / alternativesの下のシンボリックリンクを更新して、java-8-oracle実行可能ファイルをポイントします。
エクストラ:
man <command>
:(ほとんど)すべてのシェルコマンドとそのオプションに関する非常によく書かれた詳細なヘルプを読むためにmanを使い始めます(この小さな回答で私が言及するすべてのコマンドにはmanページがあります、試してくださいman update-java-alternatives
)。
apt-cache search <search_key>
:APTキャッシュをクエリして、提供されたsearch_keyに関連するパッケージを検索します(パッケージ名またはパッケージの説明に含まれる単語のいずれかです)。
apt-cache show <package>
:特定のパッケージのAPT情報を提供します(パッケージのバージョン、インストール済みかどうか、説明)。