Pertanyaan Apa perbedaan antara default-jdk, ecj, gcj dan openjdk?


Pagi ini, saya mencoba memasang sesuatu dan menemukan pernyataan seperti ini:

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>

Apa perbedaan antara default-jdk, ecj, gcj dan openjdk?

Terima kasih sebelumnya.


22
2017-11-16 02:13


asal


Ada juga Jikes. - Pacerier


Jawaban:


default-jre

Ini adalah paket sederhana yang bergantung pada openjdk-7-jre (dan pada dasarnya setara dengan openjdk-7-jre) dan default-jre-headless. Ini menginstal "Java Standar atau Java Runtime kompatibel", yang OpenJDK 7 JRE.

Paket ini menunjuk ke Java runtime, atau Java kompatibel runtime yang direkomendasikan untuk arsitektur i386, yang openjdk-7-jre untuk i386.

Informasi paket
Ketergantungan paket (cakep)

ecj

Ini adalah "kompiler Java Eclipse yang berdiri sendiri". Menginstalnya tidak akan menginstal Eclipse, karena ini adalah a mandiri paket (lihat tautan dependensi di bawah). Ini berisi "versi mandiri dari kompiler Eclipse JDT yang didistribusikan sebagai bagian dari Eclipse" dan kompatibel dengan Java 1.3 hingga 1.7.

Paket ini menyediakan versi mandiri dari kompiler Eclipse JDT yang didistribusikan sebagai bagian dari Eclipse. Ini melewati JCK (Java Compatibility Kit) dan kompatibel dengan Java 1.3, 1.4, 1.5, 1.6 dan 1.7.

Informasi paket
Ketergantungan paket (cakep)

gcj-4.6-jdk

(gcj-4.7-jdk sama tapi untuk Java 7)

Ini adalah frontend ke compiler GCC untuk secara native mengkompilasi Java bytecode dan file sumber.

GCJ adalah ujung depan untuk compiler GCC yang dapat secara native mengkompilasi file Java (tm) dan file bytecode. Compiler juga dapat menghasilkan file kelas. Alat pengembangan java lainnya dari classpath disertakan dalam paket ini.

Paket ini berisi koleksi skrip dan symlinks wrapper. Ini dimaksudkan untuk menyediakan antarmuka mirip Java-SDK ke set alat GCJ.

Itu dimaksudkan untuk menjadi alternatif sumber terbuka untuk compiler Oracle source yang tertutup. Tampaknya sebagian besar obselete dan ketinggalan jaman (tidak diperbarui) sekarang, lihat tautan di bawah (terutama pembaruan terakhir di halaman beranda GCJ).

Informasi paket

Apakah GNU's Java Compiler (GCJ) mati? - Stack Overflow
Halaman muka GCJ di gnu.org (Pembaruan: Tautan sudah hilang sekarang, tapi Wiki GCJ masih tersedia

openjdk-6-jdk

(openjdk-7-jdk sama tapi untuk Java 7)

Versi open source dari platform Java.
Dari Wiki:

Tujuan utama proyek OpenJDK adalah untuk menghasilkan implementasi open-source Platform Java SE (6 dan 7). Ini adalah versi default Java yang digunakan Ubuntu dan yang paling mudah untuk dipasang.

Ringkasan paket:

OpenJDK adalah lingkungan pengembangan untuk membangun aplikasi,   applet, dan komponen menggunakan bahasa pemrograman Java.

Paket-paket ini dibangun menggunakan dukungan dan tambalan IcedTea   dari proyek IcedTea.

Informasi paket


Juga, tidak disebutkan dalam pertanyaan Anda adalah Oracle Java (karena tidak ada dalam repositori default), yang akan saya daftarkan di bawah ini untuk kelengkapannya

oracle-java7-installer

(nama paket dari Web Up8 PPA, didistribusikan oleh Oracle di .tar.gz)

Implementasi 'resmi' sumber tertutup Java oleh Oracle (sebelumnya Sun). Tidak di-host di repositori resmi karena masalah lisensi. Itu dibuat tersedia oleh Web Up8 sebagai skrip yang mengunduh dan menginstalnya untuk Anda.

Cara menginstal - Web Up8


16
2017-11-16 06:00



apakah itu berarti bahwa instalasi ecj akan menginstal Eclipse + Java? - Ten-Coin
apa tujuan GCJ khususnya? - Ten-Coin
@rajagenupula Lihat hasil edit saya ↑↑ - kiri


Saya memiliki masalah yang sama. Apa yang saya temukan adalah bahwa mereka memiliki perbedaan dari satu ke yang lain.

Kedua default-jdk dan openjdk adalah lebih serupa karena mereka memiliki kode Java API yang sama. Tetapi perbedaan ada di dalam platform target.

  • openjdk: Apakah yang paling stabil satu. Itu dirancang untuk semua platform. Ini pada dasarnya menargetkan Sumber terbuka platform.

  • default-jdk: Is tidak stabil. Itu dirancang dengan tujuan tertentu platform target. Ini pada dasarnya menargetkan Tutup platform. (Kemudian tersedia untuk Open-Source) JRE berada di sini.

Tetapi yang lain benar-benar berbeda: Mereka hanya Compiler. Mereka diketahui datang karena, pada awalnya Java tidak tersedia untuk Open-Source. Hanya kompiler cetain yang dirilis untuk hal-hal seperti Eclipse.

  • gcj -jdk: (GNU Compiler untuk Java). Ini adalah kompilator untuk Java in GNU. (Digunakan oleh Java)

  • ecj: (Eclipse Java Compiler) Adalah compiler Java yang digunakan oleh Eclipse.

Ecj ini Bukan ECJ yang merupakan Java Evolutionary Computation Toolkit


4
2017-11-16 04:22



Terima kasih sudah berkunjung, silakan lihat komentar di atas yang saya buat pada sesama jawaban dan cobalah untuk menyelesaikannya. - Ten-Coin