[quote="sekkuar"][quote="simu"]...
funciona com
Ué, agora não entendi.
O que era pra ter na variável CLASSPATH?
C:\>echo %CLASSPATH%
C:\Program Files\Java\jdk1.7.0\bin
Se a classe está no mesmo diretório que eu estou executando, não precisava usar -cp, precisava? Nunca usei isso e funcionava antes.
Sim precisa pois o CLASSPATH indica, na falta da opção -cp, onde o Java procura as classes. Com esse CLASSPATH, APENAS o diretório "bin" será usado!
Para procurar no diretório atual tem que incluir um "." ou deixar o CLASSPATH indefinido (equivale a "." {pelo menos até Java 6}).
Não entendo o porque do "bin" estar lá? Não era para ter nenhuma classe nesse diretório.
ah entendi, então faltou um bendito "." no classpath?
eu coloquei o bin porque eu estava tentando executar a classe direto da pasta do jdk (para executar com máquinas virtuais diferentes).
agora ficou assim
C:\>echo %classpath%
.;C:\Program Files\Java\jdk1.7.0\bin
e funciona!
maldito ponto!
valeu simu!
Não achei essa do ponto em lugar nenhum.
[quote="sekkuar"]ah entendi, então faltou um bendito "." no classpath?
eu coloquei o bin porque eu estava tentando executar a classe direto da pasta do jdk (para executar com máquinas virtuais diferentes).
agora ficou assim
C:\>echo %classpath%
.;C:\Program Files\Java\jdk1.7.0\bin
e funciona!
maldito ponto!
valeu simu!
Não achei essa do ponto em lugar nenhum.
A documentação do Java está cada vez mais seguindo os padrões da Oracle: difícil de encontrar o que necessita. (e toda vez que penso que entendi como está organizada, eles mudam tudo)
Mas achei o seguinte link na descrição do comando java:
[url="http://download.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html"][u]Setting the Class Path[/u][/url]
...
The default class path is the current directory. Setting the CLASSPATH variable or using the -classpath command-line option overrides that default, so if you want to include the current directory in the search path, you must include "." in the new settings.
...
[[]]
[quote="simu"]
A documentação do Java está cada vez mais seguindo os padrões da Oracle: difícil de encontrar o que necessita. (e toda vez que penso que entendi como está organizada, eles mudam tudo)
Mas achei o seguinte link na descrição do comando java:
[url="http://download.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html"][u]Setting the Class Path[/u][/url]
...
The default class path is the current directory. Setting the CLASSPATH variable or using the -classpath command-line option overrides that default, so if you want to include the current directory in the search path, you must include "." in the new settings.
...
[[]]
Ah, então o problema não foi instalar outra jvm.
Quando eu fui testar, coloquei as classes no jdk1.7.0\bin, e criei o CLASSPATH, que não existia.
Como ele não existia, o padrão é o ".", quando eu criei ele, tirei o padrão, e sem o ponto não funciona.
É a mesma história de criar um construtor que recebe um int, faz o construtor sem argumentos sumir, ai você é obrigado a incluir ele [i]também[/i], o que não precisava fazer se não definisse nenhum construtor.