OVH Cloud OVH Cloud

Question de noob :-/

6 réponses
Avatar
O.L.
Bonjour,

Je débute en Java, et je me demandais :
On dit toujours que Java est un language "portable", qu'il peut s'exécuter
partout ou presque. Mais personnellement, j'ai souvent des problèmes de
classes (netscape.plugin, vrml, ...) non trouvées (NoClassDefFoundError).
Alors, est ce un problème de mauvaise installation de Java sur mon PC, ou
bien des problèmes dans certaines applets ?

Merci !
O.L.

PS: Si on compile une applet important la classe A (présente sur le PC lors
de la compilation), et qu'on va sur un autre PC où il n'y a pas A, c'est
sensé marcher quand même, non ?

6 réponses

Avatar
jerome moliere
O.L. wrote:
Bonjour,

Je débute en Java, et je me demandais :
On dit toujours que Java est un language "portable", qu'il peut s'exécuter
partout ou presque.
sur toute plate-forme dotee d'une machine virtuelle compatbile avec le

niveau d'exigence de l'application en question..pour etre precis..
c'est deja pas mal :)
Mais personnellement, j'ai souvent des problèmes de
classes (netscape.plugin, vrml, ...) non trouvées (NoClassDefFoundError).
Alors, est ce un problème de mauvaise installation de Java sur mon PC, ou
bien des problèmes dans certaines applets ?

si un programme en C plante tu dis quoi ?

le programme est mal fait ou le langage est minable ? :)
Merci !
O.L.

PS: Si on compile une applet important la classe A (présente sur le PC lors
de la compilation), et qu'on va sur un autre PC où il n'y a pas A, c'est
sensé marcher quand même, non ?
comment pourrait il marcher ?

par divination dans de la panse de rat ? ou dans du marc de cafe ?
non no nserieusement, c'est au developpeur de packager son appli/applet
pour qu'elle contienne tout ce qu iest necessaire a son execution...

bons debuts
Jerome

Avatar
Seb X
Je débute en Java, et je me demandais :
On dit toujours que Java est un language "portable", qu'il peut s'exécuter
partout ou presque. Mais personnellement, j'ai souvent des problèmes de
classes (netscape.plugin, vrml, ...) non trouvées (NoClassDefFoundError).
Alors, est ce un problème de mauvaise installation de Java sur mon PC, ou
bien des problèmes dans certaines applets ?


Les deux :-)
Il y a déjà plusieurs versions de JVM et malgres la compatibilité ascendante
du language, il peut y avoir des problemes.
La JVM de Microsoft ne tiens pas compte de toutes les spécifications de Sun,
il faut donc tenir compte des spécifications VM de Sun et de Microsoft. Mais
en règle général, la majorité des applets sont portables d'une VM à l'autre.
LA VM de Microsoft n'inclut pas Swing ce qui limite les applets.

Puis bon ....... mon avis c'est que les applets c'est pas super. La plupart
des applications clients/serveurs peuvent se réaliser sans l'aide des
applets, autant les éviter et transposer la logique applicative sur le
serveur et non sur le client (browser).

Merci !
O.L.

PS: Si on compile une applet important la classe A (présente sur le PC
lors

de la compilation), et qu'on va sur un autre PC où il n'y a pas A, c'est
sensé marcher quand même, non ?


Avatar
O.L.
jerome moliere wrote in
news:bmegfd$2nj7$:
non no nserieusement, c'est au developpeur de packager son
appli/applet pour qu'elle contienne tout ce qu iest necessaire a son
execution...
Sous quelle forme ? Un .jar contenant le .class, et l'arborescence des

ressources importées ?

bons debuts
Lol


Merci

Avatar
jerome moliere
O.L. wrote:

jerome moliere wrote in
news:bmegfd$2nj7$:

non no nserieusement, c'est au developpeur de packager son
appli/applet pour qu'elle contienne tout ce qu iest necessaire a son
execution...


Sous quelle forme ? Un .jar contenant le .class, et l'arborescence des
ressources importées ?
tout à fait , t'as tout compris :)


Jerome


Avatar
Cédric Chabanois
Les deux :-)
Il y a déjà plusieurs versions de JVM et malgres la compatibilité ascendante
du language, il peut y avoir des problemes.


Je viens de me rendre compte que depuis le JDK 1.4, les classes compilés
ne sont plus utilisables dans les JVM 1.1 (comme celle de MS).

Enfin c'est indiqué dans la doc de ant javac
"In particular, if you use JDK 1.4 the generated classes will not be
usable for a 1.1 Java VM unless you explicitly set this attribute to the
value 1.1 (which is the default value for JDK 1.1 to 1.3)."


La JVM de Microsoft ne tiens pas compte de toutes les spécifications de Sun,
il faut donc tenir compte des spécifications VM de Sun et de Microsoft. Mais
en règle général, la majorité des applets sont portables d'une VM à l'autre.


oui et puis ya le bordel de <applet>, <object ...> et <embedded>
Enfin je crois qu'on peut presque se limiter à <applet> maintenant.

LA VM de Microsoft n'inclut pas Swing ce qui limite les applets.


Franchement si on veut faire des applets, il faut y réfléchir à 2 fois
et si on peut imposer le plugin de Sun.

Puis bon ....... mon avis c'est que les applets c'est pas super.


Bien d'accord avec toi, surtout si on se contente de la VM de MS.
Pour les effets à 2 balles utilisant les applets, autant faire du
Javascript, ca évite que la VM se charge ou alors supprimer l'effet à 2
balles...
Si c'est pour faire qq chose de conséquent, Java Web Start est peut-être
plus adapté.

Avatar
O.L.
Merci pour ttes vos réponses, je sais koi chercher maintenant :)

En fait, j'ai besoin d'applets pour faire des mondes 3D multi-utilisateurs.
Pour cela, j'ai déjà réussi (victoire ! vu mon faible niveau en Java ...) à
faire une applet se connectant et dialoguant avec un serveur IRC ; reste
maintenant à établir le lien avec le browser VRML. Ca j'ai la doc pour y
arriver, mais là j'ai été stoppé par mes lacunes niveau applets ;-)

Je ne pensais pas que le JVM allait fouiller dans de la panse de rat (trop
étroit pour contenir un CD, une disquette peut être mais alors ya que 1.4
Mo de données .....). Je me disais simplement que les 8 Mo et quelques du
JVM de sun devaient quand même servir à quelque chose ... des classes
"universelles" peut être, comme java.* ?

Encore merci à tous, pour m'avoir sorti de l'impasse !
@+
O.L.



Cédric Chabanois wrote in
news:3f8ad502$0$27578$:

Les deux :-)
Il y a déjà plusieurs versions de JVM et malgres la compatibilité
ascendante du language, il peut y avoir des problemes.


Je viens de me rendre compte que depuis le JDK 1.4, les classes
compilés ne sont plus utilisables dans les JVM 1.1 (comme celle de
MS).

Enfin c'est indiqué dans la doc de ant javac
"In particular, if you use JDK 1.4 the generated classes will not be
usable for a 1.1 Java VM unless you explicitly set this attribute to
the value 1.1 (which is the default value for JDK 1.1 to 1.3)."


La JVM de Microsoft ne tiens pas compte de toutes les spécifications
de Sun, il faut donc tenir compte des spécifications VM de Sun et de
Microsoft. Mais en règle général, la majorité des applets sont
portables d'une VM à l'autre.


oui et puis ya le bordel de <applet>, <object ...> et <embedded>
Enfin je crois qu'on peut presque se limiter à <applet> maintenant.

LA VM de Microsoft n'inclut pas Swing ce qui limite les applets.


Franchement si on veut faire des applets, il faut y réfléchir à 2 fois
et si on peut imposer le plugin de Sun.

Puis bon ....... mon avis c'est que les applets c'est pas super.


Bien d'accord avec toi, surtout si on se contente de la VM de MS.
Pour les effets à 2 balles utilisant les applets, autant faire du
Javascript, ca évite que la VM se charge ou alors supprimer l'effet à
2 balles...
Si c'est pour faire qq chose de conséquent, Java Web Start est
peut-être plus adapté.