Сегодня утром я попытался что-то установить и натолкнулся на следующее утверждение:
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?
Заранее спасибо.
package-management
java
openjdk
rɑːdʒɑ
источник
источник
Ответы:
по умолчанию, JRE
Это простой пакет, который зависит от openjdk-7-jre (и поэтому в основном эквивалентен openjdk-7-jre ) и default-jre-headless . Он устанавливает «Стандартную Java или Java-совместимую среду выполнения», которая является OpenJDK 7 JRE.
Информация о
пакете Зависимости пакета (дерзкий)
СЕС
Это «автономный компилятор Java Eclipse». Установка его не приведет к установке Eclipse, так как это отдельный пакет (см. Ссылку на зависимости ниже). Он содержит «автономную версию компилятора Eclipse JDT, которая распространяется как часть Eclipse» и совместима с Java 1.3 до 1.7.
Информация о
пакете Зависимости пакета (дерзкий)
GCJ-4,6-JDK
(gcj-4.7-jdk такой же, но для Java 7)
Это интерфейс к компилятору GCC для нативной компиляции байт-кода Java и исходных файлов.
Он должен был стать альтернативой с открытым исходным кодом компилятору Oracle с закрытым исходным кодом. Похоже, что в настоящее время она в основном устарела и устарела (не обновлена), см. Ссылки ниже (особенно последние обновления на домашней странице GCJ).
Информация о пакете
Java-компилятор (GCJ) GNU мертв? - Переполнение стека на
домашней странице GCJ на gnu.org (Обновление: ссылка исчезла, но вики GCJ по-прежнему доступна
OpenJDK-6-JDK
(openjdk-7-jdk такой же, но для Java 7)
Версия платформы Java с открытым исходным кодом.
Из вики :
Резюме пакета:
Информация о пакете
Кроме того, в вашем вопросе не упоминалась Oracle Java (поскольку она отсутствует в репозиториях по умолчанию), для полноты которой я перечислю ниже.
Оракул-java7-инсталлятор
(имя пакета из Web Up8 PPA , распространяемого Oracle в .tar.gz)
Официальная реализация Java с закрытым исходным кодом Oracle (ранее Sun). Не размещается на официальных репо из-за проблем с лицензированием. Он был доступен Web Up8 в виде скрипта, который загружает и устанавливает его для вас.
Как установить - Web Up8
источник
У меня такая же проблема. Я обнаружил, что у них есть различия от одного к другому.
Оба
default-jdk
иopenjdk
более похожи, так как имеют одинаковые java API-коды. Но разница в целевой платформе.Но другие совершенно разные: они просто компиляторы . Они, как было известно, пришли потому, что в начале Java не была доступна для Open-Source. Только такие компиляторы были выпущены для таких вещей, как Eclipse.
Этот ecj не является ECJ, который является Java Evolutionary Computation Toolkit
источник