Bon, je répond, avec un peu de retard (presqu'un an, mais c'est pas grave !).
Concernant la portabilité, ce n'est pas normal qu'un code compilé sous linux ne marche pas sous windows et inversement. Pourquoi ? Le java est un langage "compilé interprété", comprenez par la que le code source est traduit dans un langage machine appelé ByteCode,
indépendant de toute architecture.
Ensuite, le ByteCode est interprété (voir compilé à la volé en langage machine), par une machine virtuelle java.
Les problèmes de compatibilités linux/windows pour les programmes écrit en java viennent :
-soit de bugs ;
-soit d'une implémentation incomplète de java sous linux (pour la machine GNU).
A priori, il ne doit y avoir aucun problème de portabilité entre les outils windowsiens et linuxiens provenant de chez Sun, puisque c'est Sun qui fait évoluer Java.
Par contre, il peut y avoir des problèmes lors de l'éxecution d'un programme java compilé avec la version Sun et qui tourne sous la JVM de Gnu...
Tout pour en venir à ce que disait Fser : "C'est comme essayer de lancer un bete hello world compilé sous win sous linux et vis versa
"
La philosophie de Java est justement de ne pas avoir besoin de recompiler le code lors d'un changement d'architecture. Ceci est possible grace à la machine virtuelle...
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)