GNU/Linux >> Linux の 問題 >  >> Linux

Ubuntu:OpenJDK 8 - パッケージが見つかりません

ランダムな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 -versionjavac -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 情報 (パッケージのバージョン、インストール済みかどうか、説明) を提供します。


Linux
  1. Ubuntu 20.04にMariadbをインストールできませんか?

  2. Ubuntu14.04にOdoo9をインストールします

  3. Ubuntuサーバーにロケートをインストールする方法

  1. Ubuntu16へのCuda8のインストール:パッケージCudaが見つかりませんか?

  2. Ubuntu 22.04 に Docker をインストールする方法

  3. Ubuntu 20.04:E:パッケージ python-pip が見つかりません

  1. 新しいUbuntuVPSにPHP7をインストールします。[修正]パッケージPHPが見つかりません

  2. UbuntuにZulipをインストールする

  3. Docker - パッケージ docker-engine が見つかりません