Li em alguns lugares que no Eclipse, as vezes é necessário ir no menu WINDOW >> PREFERENCES >> JAVA >> Installed JREs e fazer esse atributo apontar para a pasta JDK e não a JRE. Minha dúvida é: por quê?
Esse procedimento é citado por vezes aqui no blog mas gostaria de saber o motivo disso.
Sei que há uma pasta JRE dentro da pasta do JDK… essa subpasta tem uns 9 MBs a mais que a pasta JRE ‘tradicional’. Seria por algo correlato? Seria por que haveria assim maiores funcionalidades o eclipse?
JDK e JRE são coisas diferentes, como podemos ver no tutorial daqui do GUJ:
[quote]JSDK (Java Software Development Kit), ou simplesmente JDK, é o ambiente de desenvolvimento Java. Entre outras coisas, inclue: Java Virtual Machine, compilador, appletviewer par executar applets, códigos de exemplo e bibliotecas básicas do java.
JRE (Java Runtime Environment): Indicado para quem precisa apenas executar as aplicações Java, sendo que o pacote contém somente as bibliotecas necessárias para tal e a virtual machine. Você não vai conseguir compilar código java apenas com isto! [/quote]
oras… com isso você está dizendo que com a configuração padrão não é possível desenvolver!!
quero saber o fundamento dessa mudança… qual a sua conveniência, entendeu?
se eu não mudar a opção, o que estou perdendo? o que estou ganhando?
[quote=fabiopagoti]oras… com isso você está dizendo que com a configuração padrão não é possível desenvolver!!
quero saber o fundamento dessa mudança… qual a sua conveniência, entendeu?
se eu não mudar a opção, o que estou perdendo? o que estou ganhando?
em aguardo da resposta! [/quote]
A resposta é simples:
Para ver o código fonte das classes padrões do Java você precisa indicar qual o JDK que contém as classes. (Por padrão o Eclipse usa o JRE, que vem sem os códigos fonte (arquivo src.zip))
Quando utilizar o JDK, você terá acesso a mais informações no help.
O assistente de código poderá mostrar os nomes dos métodos e alguma informação fornecida pelo JavaDoc. O único pré-requisito para esta funcionalidade é ter um JDK instalado na máquina e seguir os passos abaixo para realizar a configuração.
Vá até ‘Window -> Preferences’ no menu.
Escolha o item ‘Java’ e o sub-item ‘Installed JREs’.
Selecione a primeira linha. (Nome: Standard VM).
Pressione o botão ‘Edit’ (ou ‘Add’).
A janela ‘Edit JRE’ (ou ‘Add JRE’) deverá aparecer:
Pressione o botão ‘Browse’ do campo ‘JRE home directory’.
Escolha o diretório onde o JDK está instalado na janela que aparecerá. No Windows você terá algo parrcido com C:\j2sdk1.4.2_01.
Pressione ‘OK’ para escolher o diretório.
Depois ‘OK’ na janela ‘Edit JRE’.
E finalmente ‘OK’ na janela ‘Preferences’ para encerrar a configuração.
Se você se desse ao trabalho de comparar os 2 diretórios, teria uma idéia de que por que é que ela tem 9MB a mais.
De qualquer maneira, é porque a JRE do JDK vem com a JVM “server”, que é otimizada para rodar processos “servidores” (tais como web containers e application servers). Ela demora um pouco mais para compilar o código (JIT) e gasta um pouco mais de memória, mas para processos que rodam durante longo tempo, é melhor, porque o código gerado é bem mais otimizado. Além disso, no JDK o arquivo charsets.jar (que é necessário para rodar programas que usam alguma codificação diferente de UTF-8 ou ISO-8859-1 ou Windows-1252) também está completo.
Fora isso, como foi comentado, o JDK contém o arquivo src.zip, que contém os fontes de várias das classes do JDK, suficientes para as IDEs (como NetBeans ou Eclipse) poderem mostrar os Javadocs das classes.