default-jdk、ecj、gcj、openjdkの違いは何ですか?


23

今朝、私は何かをインストールしようとしましたが、次のような文に出会いました。

The program 'javac' can be found in the following packages:
 * default-jdk
 * ecj
 * gcj-4.6-jdk
 * gcj-4.7-jdk
 * openjdk-7-jdk
 * openjdk-6-jdk
Try: sudo apt-get install <selected package>

default-jdk、ecj、gcj、openjdkの違いは何ですか?

前もって感謝します。


1
Jikesもあります。
Pacerier

回答:


16

default-jre

これはopenjdk-7-jre(したがって、基本的にopenjdk-7-jreと同等)とdefault-jre- headlessに依存するシンプルなパッケージです。OpenJDK 7 JREである「標準JavaまたはJava互換ランタイム」をインストールします。

このパッケージは、Javaランタイム、またはi386アーキテクチャ用に推奨されるJava互換ランタイム(i386用のopenjdk-7-jre)を指します。

パッケージ情報
パッケージの依存関係(saucy)

ecj

これは「スタンドアロンEclipse Javaコンパイラ」です。スタンドアロンパッケージであるため、インストールしてもEclipseはインストールされません(以下の依存関係リンクを参照)。「Eclipseの一部として配布されるEclipse JDTコンパイラのスタンドアロンバージョン」が含まれており、Java 1.3〜1.7と互換性があります。

このパッケージは、Eclipseの一部として配布されるEclipse JDTコンパイラーのスタンドアロンバージョンを提供します。JCK(Java Compatibility Kit)に合格し、Java 1.3、1.4、1.5、1.6、1.7と互換性があります。

パッケージ情報
パッケージの依存関係(saucy)

gcj-4.6-jdk

(gcj-4.7-jdkは同じですが、Java 7の場合)

これは、JavaバイトコードとソースファイルをネイティブにコンパイルするためのGCCコンパイラのフロントエンドです。

GCJは、Java(tm)ソースとバイトコードファイルの両方をネイティブにコンパイルできるGCCコンパイラのフロントエンドです。コンパイラはクラスファイルも生成できます。このパッケージには、クラスパスの他のJava開発ツールが含まれています。

パッケージには、ラッパースクリプトとシンボリックリンクのコレクションも含まれています。GCJツールセットにJava-SDKのようなインターフェイスを提供することを目的としています。

これは、クローズドソースのOracle Javaコンパイラに代わるオープンソースの代替手段であることを意味していました。現在はほとんど陳腐で古くなっている(更新されていない)ようです。以下のリンクを参照してください(特にGCJホームページの最後の更新)

パッケージ情報

GNUのJavaコンパイラ(GCJ)は死んでいますか?
-gnu.orgのスタックオーバーフローGCJホームページ(更新:リンクは削除されましたが、GCJ wikiは引き続き利用可能です)

openjdk-6-jdk

(openjdk-7-jdkは同じですが、Java 7の場合)

Javaプラットフォームのオープンソースバージョン。ウィキ
から:

OpenJDKプロジェクトの主な目標は、Java SEプラットフォーム(6および7)のオープンソース実装を作成することです。これはUbuntuが使用するJavaのデフォルトバージョンであり、インストールが最も簡単です。

パッケージの概要:

OpenJDKは、Javaプログラミング言語を使用してアプリケーション、アプレット、およびコンポーネントを構築するための開発環境です。

パッケージは、IcedTeaビルドサポートとIcedTeaプロジェクトのパッチを使用してビルドされます。

パッケージ情報


また、あなたの質問にはOracle Javaは言及されていません(デフォルトのリポジトリにないため)

oracle-java7-installer

(Oracleが.tar.gzで配布しているWeb Up8 PPAのパッケージ名)

Oracle(以前はSun)によるJavaのクローズドソース「公式」実装。ライセンスの問題のため、公式リポジトリではホストされていません。Web Up8によって、ダウンロードしてインストールするスクリプトとして利用可能になりました。

インストール方法-Web Up8


ecjのインストールによりEclipse + Javaがインストールされるということですか?
rɑːdʒɑ

特にGCJの目的は何ですか?
rɑːdʒɑ

@rajagenupula編集を見る↑↑
kiri

4

同じ問題がありました。私が見つけたのは、彼らがお互いに違いを持っ​​ているということです。

両方はdefault-jdk、同じJava APIコードを持っているため、openjdkより類似しています。しかし、違いはターゲットプラットフォームにあります。

  • openjdk:最も安定したものです。すべてのプラットフォーム用に設計されました。基本的には、オープンソースプラットフォームを対象としています。

  • default-jdk:安定していません。特定のターゲットプラットフォームを目指して設計されました。基本的にはクローズドプラットフォームを対象としています。(後にオープンソースで利用可能になりました)JREはこの中にあります。

しかし、他のものは完全に異なります:それらは単なるコンパイラです。当初、Javaがオープンソースで利用できなかったため、彼らが来たことが知られていました。Eclipseなどの特定のコンパイラのみがリリースされました。

  • gcj -jdk:(Java用GNUコンパイラ)。GNUのJava コンパイラです( Javaで使用)。

  • ecj:(Eclipse Java Compiler)Eclipseで使用されるJavaコンパイラーです。

このecjは、Java Evolutionary Computation ToolkitであるECJではありません


に立ち寄ってくれてありがとう、私が仲間の答えについて行った上記のコメントを見て、それらを喜ばせるようにしてください。
rɑːdʒɑ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.