Que mágica é essa?

23 respostas
T

ola, gente!!

alguem pode me explicar como é que eu to conseguindo compilar normalmente os meus programas Java, no eclipse e tal… sem ter configurado a variavel de ambiente?? nem classpath, nem java_home… nada. esqueci de configurar. e mesmo assim ta funcionando tudo beleza!!!

que magica é essa??? :shock: :shock: :shock:

23 Respostas

M

Se existem as variáveis de ambiente criadas, o Eclipse acha. ô bicho esperto :smiley:

T

é?

mas mesmo la nas variaveis de ambiente do proprio sistema nao tendo nenhuma???

assim… la nao tinha… ja criei, mas ontem mesmo nao tinh e tava tudo beleza.

o eclipse cria??? :?: :?: :?:

M

nunca testei mas acho que ele dá um “jeito”.
Tem certeza que nao existia JAVA_HOME, nem CLASSPATH, nem PATH ? em lugar nenhum?

T

Absoluta. Nem Java_Home nem Classpath.

Havia path… mas o valor dela nao me parece indicar o java…

path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

tem?? :roll:

M

pois essa “mágica” é coisa do eclipse. :smiley:
O eclipse facilita muita coisa, mas é bom ficar atenta.
Pelo menos vc sabe que precisa dessas variaveis de ambiente. Como o proprio nome diz, sao variaveis de AMBIENTE, que devem funcionar no ambiente todo, talvez o eclipse procure o JDK instalado na tua maquina e crie o ambiente dele. Porem nao deve funcionar se vc tentar complicar (javac) via prompt de comando. Nao sem as variaveis de ambiente.

T

O Eclipse monta um ambiente próprio para poder rodar os programas.
Por exemplo, para iniciar um programa qualquer para ser debugado, ele inicia uma nova instância do java.exe (ou javaw.exe) com o CLASSPATH setado de acordo com o que você configurou no projeto.

A única coisa de que o Eclipse precisa (e olhe lá) é de você configurar corretamente o PATH para que o diretório do JDK (tipicamente c:\Arquivos de Programas\Java\JDK1.5.0\bin) esteja no PATH.

Nem disso o Eclipse precisa; se você editar o arquivo c:\eclipse\eclipse.ini e mencionar o diretório correto para a JVM, você não precisa que o diretório esteja no PATH.

J

O eclipse não usa o compilador java da SDK, ele têm o seu próprio compilador e só precisa de uma JRE para rodar, e uma vez que ele mesmo roda em cima de uma JRE ele já achou pelo menos uma.

Agora, se você tá falando das libs que você utilizou e elas não estão no arquivo de projeto de eclipse, então é mágica mesmo.

M

2 coisas:

O Eclipse não usa o “javac” pra compilar as aplicações, ele tem um compilador próprio pra fazer isso.

O Eclipse não precisa do JDK instalado pra rodar, basta uma JRE pública (que é o mínimo que você tem que instalar pra rodar uma aplicação Java) e pronto. O resto ele faz sozinho.

J

[edit] Esquece… [/edit]

M

taí as explicações mais tecnicas :stuck_out_tongue:
eu nao sei muita coisa.
Mas pronto, o pessoal explicou a mágica.

valeu, []´s

T

De fato o Eclipse usa um compilador próprio (e foi por isso que demorou um pouco para suportar a versão 5.0 do Java).
Essa história do compilador próprio pegou, tanto é que as versões mais novas do Tomcat usam o compilador do Eclipse para transformar o código Java gerado pelo Jasper (compilador de JSPs) em arquivos .class.

T

o valor de path é aquele que ja coloquei antes.

nao aponta para o diretorio do java.

e nao adicionei nada ao projeto alem dos proprios arquivos .java

nem tampouco editei o arquivo de inicializaçao do eclipse, nem sabia que dava pra fazer isso. hehehe

sera que ele pode estar recebendo o valor do que deveria estar no java_home ou no path de outra variavel??

.

M

so uma correção:

eu nao falei que o eclipse usa javac, eu disse que configurando as variaveis de ambiente de forma correta, vc pode abrir o prompt do dos e compilar com javac.

T

Ah beleza… agora sim entendi.

Ae, gente vcs sao demais mesmo. hehehe

Isso so me faz confirmar minha teoria: E viva o Eclipse!!!

:smiley: :smiley:

T

No caso do Windows, o path para a JRE está marcado no Registry.
Não sei se o Eclipse consegue ler esse valor, se a JRE não estiver no PATH - nunca experimentei fazer isso, mas é bastante lógico que consiga fazê-lo (afinal de contas, uma boa parte do Eclipse é código nativo - C & C++.)

A

a variavel de ambiente PATH que você encontrou é do sistema (windows), não tem relação direta com o java

D

Quando você instala o Java 5 o maldito mexe em algo do registro do Windows que prevalece até sobre o bin do Java no PATH que você possa ter configurado antes.

R

Só uma curiosidade…
Qual o resultado de executar o comando “SET” no prompt de comando ?

T

O instalador (Windows) copia o java.exe e o javaw.exe para c:\windows\system32 - sempre a última versão.
É que normalmente esse diretório está no PATH.
Por exemplo, se você instalar o Mustang (6.0) e depois o Tiger (5.0), o java.exe vai ficar com a versão 5.0…

J

No Windows, o Eclipse lê no registro a VM padrão.
Se você quiser modificar isso, vá ao painel de controle e abra Java, Maquina Virtual Java ou algo assim(não lembro bem).
:}

M

Isso tudo não está relacionado apenas com o que vc coloca e/ou tira dessa tela do menu window>preferences>Java>Installed JREs :?:

S

Mantu:
Isso tudo não está relacionado apenas com o que vc coloca e/ou tira dessa tela do menu window>preferences>Java>Installed JREs :?:

Bom, o foco da discussão aqui foi a JRE que está sendo utilizado para rodar o eclipse em si. A parte de “Installed JREs” é utilizado para compilar (determinar qual JRE System Library usar) e rodar as aplicações que você desenvolve dentro do eclipse.

[]s,
Sami

D

Bem isso tambem aconteceu comigo eu antes de saber oque era classpath e coisas do genero instalei o java e eu consiguia compilar mas nao consiguia rodar dava aquele erro de quando não acha as classes.

Mas como eu nao sabia mesmo fiquei sem saber e fui direto instalar o eclipse e dentro do programa ele compilava e rodava o programa.

Bem quando instala o eclipse ele pede pra vc mostrar pra ele o diretorio do seu java.

Eu acho que com isso ele ja seta internamente todos os path para que o programa rode corretamente

bem eu acho que é isso

Criado 30 de maio de 2006
Ultima resposta 31 de mai. de 2006
Respostas 23
Participantes 12