Multiplataforma?

Escolhi um tópico alarmante porque estou tendo um problema sério.
Tenho aplicativos em java que foram compilados com o jdk 1.6, e dessa forma, não rodam no windows ME que utiliza no máximo as versões de 1.5.X. Já utilizei com meu jdk a opção -source 1.5 e compilou sem erros. Porém quando ponho o aplicativo para rodar no windows ME não roda, e esse mesmo sistema com essa mesma compliação roda nas versões de XP e VISTA.
Começo a acreditar que a “Multiplataforma” tem suas exceções…
Alguém sabe o que está ocorrendo ?

OBS: Uso o netbeans 5.5, mas mesmo compilando na linha de comando o erro é o mesmo.

Voce tem que usar -target, nao -source

Rafael

Valeu a dica, mas não funcionou:

javac: source release 1.6 requires target release 1.6
FALHA NA EXECUÇÃO (tempo total: 0 segundos)

usei -target 1.5
e
-source 1.5 -target 1.5
e o erro é igual para ambos…

Só reiterando, já usei todas as possibilidades de -source 1.6/5 e -target 1.5/6 e não compilou…

Voce deve ter feito algo errado. Um

 javac -target 1.5 -source 1.5 Teste.java

Funcionou sem problemas.

Rafael

Eu não queria ser chato, mas para o Windows ME a solução mais correta é a dada pela própria Microsoft:

FORMAT + INSTALL outro sistema operacional (como o XP, se quiser continuar em ambiente Microsoft, ou alguma versão do Linux ou Solaris, mas isso a Microsoft não recomenda :stuck_out_tongue: )

Nem a Microsoft recomenda usar o ME, já que os membros da familia 9X (95, 98 e ME) não conseguem ser protegidos contra vírus, spyware e outras ameaças de forma razoável, e além disso, já se passaram mais de 5 anos desde que essa versão foi lançada.

No seu caso acho melhor você usar o JDK 5.0 para rodar o NetBeans e debugar seus programas. Acho que deve haver alguma outra incompatibilidade escondida no seu programa (por exemplo, se você estiver usando NetBeans, saiba que a classe javax.swing.GroupLayout não existe no JDK 5.0, só no JDK 6.0 ).

Todas as classes que estou utilizando possuem recursos que são comuns a ambos o JDK, apesar de eu utilizar uma gama muito grande de classes da API java nesse sistema. Começo a ver que tudo está mais claro ! As versões antigas, de SO, teoricamente ultrapassadas, funcionam nas versões novas, ok, óbvio ! Porém o inverso não acontece, as versões novas não rodam em SO operacionais antigos. Legal, vou dizer para meu cliente que possui licensa do windows ME para ele enfiar a licensa dele no… e comprar uma nova de XP ou atualizar para uma versão de linux. Depois vou enfiar minha cara no buraco e desmentir para ele que o SO da máquina tanto faz para quem utiliza java. Pois a liberdade que eu imaginei que tivesse é completamente dependente da plataforma para quem eu preciso desenvolver.
Valeu galera, é só um desabafo, nada pessoal com ninguém.

Desculpa thingol, enquanto escrivia não li seu texto e o enviei sem ler sua mensagem. Realmente desconheço que a própria MicroSoft reconhecia o erro. Mas eu ainda esbarro no problema da licensa, cliente é cliente, acho chato ter que pedir para ele adquirir uma nova licensa, já tentei convece-lo a migrar para linux, mas ele disse que não, fazer o quê ?

Grato pela dica, vou reinstalat o jdk 5 e manter o meu sistema nessa versão ! Muito obrigado !!!

Hummm… estranho.

Quando eu utilizava o WinMe, lembro que logo que foi lançada a versão beta do JDK 6.0 eu baixei e quis instalar no meu PC.

O instalador mostrou uma mensagem dizendo que alguns recursos poderiam não funcionar por causa do meu OS, mas ele permitiu sim que eu instalasse o JDK, e sempre funcionou perfeitamente.

Não entendo muito bem o que você quer dizer com compilados com o jdk 1.6, e dessa forma, não rodam no windows ME que utiliza no máximo as versões de 1.5.X.
Tem certeza que não é possível instalar? Será mesmo que a Sun fez com que o instalador bloqueasse instalações em OS 9X?

A mensagem dada pelo instalador do JRE 6 é que ele só poderá rodar em versões de XP para cima, nisso ela é bem clara. Realmente fui infeliz ao comentar que tentei instalar o jdk 6 no cliente, o certo é que tentei instalar o JRE 6, e def forma ou de outra a mensagem no winME é que o sistema não é suportado para essas versões.

não é a toa que chamam ele de Mistake Edition.

Só apimentando um pouco mais a discução…

Mas pq o JDK 6.0 não rodaria se nesta versão não houve alterações de código e sim extenções de API?

De qualquer forma dou pesquisar …

Ola

Você comparou os fontes? Duvido que tenham conseguido lançar uma versão nova sem alterar o código antigo como sempre aconteceu. Basta ver a melhoria de desempenho que sempre ocorre com as novas versões.

Quanto a problema do Windows ME, acho que Duncan precisa pesquisar mais porque já passei um bom tempo da minha vida tentando fazer aplicações Swing funcionar nas máquinas mais porcarias do mundo. Já tive dezenas de problemas mas nenhum era do Java. Já passei por máquinas com ME e com pouca memória. O pior que passei foi um cliente que configurou o Windows NT dele com uma configuração gráfica totalmente incompatível com o Java. Este caso me valeu uma viagem a Florianópolis porque ninguém teve a paciência de verificar se o tal Windows NT estava tal como o padrão.

[]s
Luca

[quote=thiagomont]Só apimentando um pouco mais a discussão…

Mas pq o JDK 6.0 não rodaria se nesta versão não houve alterações de código e sim extensões de API?

De qualquer forma vou pesquisar … [/quote]

a) Use o Firefox 2.X com correção ortográfica para o português - é uma mão na roda, consertou as palavras “discução” (discussion em inglês, então teria de ser com 2 esses), “extenção” (extension em inglês).
b) Os fontes do JDK estão disponíveis para serem baixados no site da Sun, e muitas coisas foram corrigidas ou acrescentadas, tanto nos fontes em C++ e C, quanto nos fontes em Java. É complicado até compará-los, porque bastante coisa foi até reestruturada - e isso apesar de aparentemente não haver muitas diferenças entre o 5.0 e o 6.0.

Blz?
Em relação aos meus erros de português, bom não sou muito bem em português…rs…

Em relação ao Java, pelo que tinha visto entre as versões 5 e 6 não tiveram reestruturações e nas API´s, por padrão o JCP mantém os métodos antigos, certo?

Em relação a essa questão não tive muito tmepo para pesquisar ainda (estou viajando a trabalho), mas realmente achei interessante a questão e vou verificar.

t+