Installed JREs - Eclipse

Olá pessoal.

Estou com uma dúvida que creio ser bem simples.

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?

Obrigado desde já!!

abraços!

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]

disso eu sei

exatamente por isso queria saber por que seria conveniente trocar esse parametro

Para poder desenvolver.

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=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.

  1. Vá até ‘Window -> Preferences’ no menu.

  2. Escolha o item ‘Java’ e o sub-item ‘Installed JREs’.

  3. Selecione a primeira linha. (Nome: Standard VM).

  4. Pressione o botão ‘Edit’ (ou ‘Add’).
    A janela ‘Edit JRE’ (ou ‘Add JRE’) deverá aparecer:

  5. Pressione o botão ‘Browse’ do campo ‘JRE home directory’.

  6. 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.

  7. Pressione ‘OK’ para escolher o diretório.

  8. Depois ‘OK’ na janela ‘Edit JRE’.

  9. E finalmente ‘OK’ na janela ‘Preferences’ para encerrar a configuração.

Espero ter ajudado…

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.