ランダムなPPAやフリーでないOracleバイナリではなく、公式のDebianリポジトリからOpenJDK 8を取得しています。私が行った方法は次のとおりです。
sudo apt-get install debian-keyring debian-archive-keyring
/etc/apt/sources.list.d/debian-jessie-backports.list
にする :
deb http://httpredir.debian.org/debian/ jessie-backports main
/etc/apt/preferences.d/debian-jessie-backports
にする :
Package: *
Pin: release o=Debian,a=jessie-backports
Pin-Priority: -200
次に、最後にインストールを行います:
sudo apt-get update
sudo apt-get -t jessie-backports install openjdk-8-jdk
sudo apt-get update
sudo apt-get install openjdk-8-jdk
これでうまくいくはずです
ご覧のとおり、(Ubuntu 14.04 マシンに) Java 1.7 しかインストールされていません。
update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
Java 8 をインストールするには、
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
その後、Java 7 と 8 を手に入れました
update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64
追加されたボーナス (異なるバージョン間の切り替え方法)
- ターミナルから次のコマンドを実行します:
sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 auto mode
1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode
* 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1069 manual mode
Press enter to keep the current choice[*], or type selection number:
ご覧のとおり、open jdk 8 を実行しています。jdk 7 に切り替えるには、1
を押します。 Enter を押します 鍵。 javac
についても同じことを行います 同様に、sudo update-alternatives --config javac
.
バージョンをチェックして変更を確認してください:java -version
と javac -version
.
更新 :root 権限なしでのインストール
問題を解決できる(半公式の)リポジトリがすでにある場合は、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
コマンド用語集
-
須藤
<command> [command_arguments]
:スーパーユーザー権限でコマンドを実行します。 -
add-apt-repository
<PPA_id>
:Ubuntu (すべての Debian 派生物や一般的に言えばすべての Linux ディストリビューションと同様) には、パッケージの依存関係や更新などを処理するパッケージのメイン リポジトリがあります。 Ubuntu では、PPA (Personal Package Archive) を使用してメイン リポジトリを拡張できます。PPA には通常、システムで利用できないパッケージ (oracle jdk と同様) または利用可能なパッケージの更新バージョン (例:LTS の LibreOffice 5 は、これを通じてのみ利用可能) が含まれます。 PPA). -
apt-get
[install|update|upgrade|purge|...]
:これは、state を操作するために使用される「コマンドライン パッケージ ハンドラ」です。 システム上のすべてのリポジトリ (インストール/更新/アップグレードは、リポジトリの現在の状態の変更と見なすことができます)。
私たちの場合 :コマンド 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 実行可能ファイルを指すようにします。
エクストラ:
-
男
<command>
:man を使用して、(ほぼ) すべてのシェル コマンドとそのオプションに関する非常によく書かれた詳細なヘルプを読み始めます (この小さな回答で言及するすべてのコマンドにはマニュアル ページがあります。man update-java-alternatives
を試してください) ). -
apt キャッシュ
search <search_key>
:APT キャッシュにクエリを実行して、提供された search_key (パッケージ名またはパッケージの説明の単語) に関連するパッケージを検索します。 -
apt キャッシュ
show <package>
:特定のパッケージの APT 情報 (パッケージのバージョン、インストール済みかどうか、説明) を提供します。