Esta manhã, tentei instalar algo e me deparei com uma declaração como esta:
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>
Qual é a diferença entre default-jdk, ecj, gcj e openjdk?
Desde já, obrigado.
package-management
java
openjdk
rɑːdʒɑ
fonte
fonte
Respostas:
default-jre
Este é um pacote simples que depende do openjdk-7-jre (e, portanto, é basicamente equivalente ao openjdk-7-jre ) e do padrão-jre-headless . Ele instala o "Java Padrão ou Java Runtime compatível", que é o OpenJDK 7 JRE.
Informações do
pacote Dependências do pacote (atrevido)
ecj
Este é o "compilador Java independente do Eclipse". A instalação não instalará o Eclipse, pois é um pacote independente (consulte o link de dependências abaixo). Ele contém "uma versão independente do compilador Eclipse JDT, que é distribuído como parte do Eclipse" e é compatível com Java 1.3 a 1.7.
Informações do
pacote Dependências do pacote (atrevido)
gcj-4.6-jdk
(gcj-4.7-jdk é o mesmo, mas para Java 7)
Este é um frontend para o compilador GCC para compilar nativamente bytecode Java e arquivos de origem.
Era para ser uma alternativa de código aberto ao compilador Oracle Java de código fechado. Parece estar obsoleto e desatualizado (não atualizado) agora, veja os links abaixo (particularmente as últimas atualizações na página inicial do GCJ).
Informações do pacote
O Java Compiler (GCJ) do GNU está morto? -
Página inicial do Stack Overflow GCJ no gnu.org (Atualização: o link foi removido agora, mas o wiki do GCJ ainda está disponível
openjdk-6-jdk
(openjdk-7-jdk é o mesmo, mas para Java 7)
Uma versão de código aberto da plataforma Java.
Do Wiki :
Resumo do pacote:
Informações do pacote
Além disso, não foi mencionado na sua pergunta o Oracle Java (porque não está nos repositórios padrão), que listarei abaixo para garantir a integridade
oracle-java7-installer
(nome do pacote do Web Up8 PPA , distribuído pela Oracle em .tar.gz)
A implementação 'oficial' de código fechado do Java pela Oracle (anteriormente Sun). Não está hospedado nos repositórios oficiais devido a problemas de licenciamento. Foi disponibilizado pelo Web Up8 como um script que o baixa e instala para você.
Como instalar - Web Up8
fonte
Eu tive o mesmo problema. O que eu descobri foi que eles estão tendo diferenças de um para outro.
Ambos
default-jdk
eopenjdk
são mais parecidos , pois possuem os mesmos códigos de API Java. Mas a diferença está na plataforma de destino.Mas outros são totalmente diferentes: são apenas compiladores . Eles eram conhecidos por terem surgido porque, no início, o Java não estava disponível para código-fonte aberto. Somente compiladores cetain foram lançados para coisas como Eclipse.
Este ecj não é ECJ, que é o Java Evolutionary Computation Toolkit
fonte