RealKEV1
Messages postés50Date d'inscriptionvendredi 18 juin 2004StatutMembreDernière intervention30 décembre 2004
-
30 juin 2004 à 19:55
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 2006
-
20 janv. 2006 à 20:14
Bonjour à tous,
Je suis developpeur Java débutant et g donc bcp de questions, mais celle-ci me fait m'arracher les cheveux!!!!
Je ne comprends vraiment pas le systeme de classpath sous Eclipse!!! et ça m'enerve bcp.
J'ai fortement besoin de vous...
Voilà, je vous explique:
Mon arborescence
Project: Java
Sous ce project, un folder "bin".
Dans ce folder "bin", un package: com.test.applet
A l'interieur de ce package, un folder "src" qui contient .class, .java ainsi que le fichier applet.html.
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 1 juil. 2004 à 09:50
:big) Neodante :big)
Déjà ton arborescence est organisé maladroitement ... normalement on a un rep 'src' puis dedans le package ... un package en Java ne sert pas à embêter les gens mais à organiser clairement ton projet et à éviter les conflits de noms .. donc ton package src bof quoi !!! lol
Lorsque tu mets le chemin vers ton class dans ton fichier HTML, tu mets bien tous le chemin du package com.test...MaClasse.class ???
@+
RealKEV1
Messages postés50Date d'inscriptionvendredi 18 juin 2004StatutMembreDernière intervention30 décembre 2004 1 juil. 2004 à 10:22
Ok, donc je vais supprimer mon repertoire "src" pour que ce soit plus niquel et lisible!
En fait, j'avais fait ça pour mettre les .class et .java dans un folder, pour que ce soit propre.
Je suis débutant et je ne connais pas encore comment contruire une bonne arborescence type de projet applet.
Et j'avais vu dans les exemples du sdk, qu'on mettait les .class, .java ds un "src" les images ds "images" biensur.
Ce n'est pas bon????
Concernant mon fichier html, je mettais le chemin applet.class tout simplement et j'avais ce mess d'erreur:
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 1 juil. 2004 à 10:32
:big) Neodante :big)
Si mais si tu remarques la racine de ton projet contient src, doc, bin, lib ... et ensuite seulement dans le rep src tu mets tes classes .java avec les packages que tu veux ... ne pas confondre les packages avec l'arborescence de ton projet qui est ta table de travail si on peut dire .... lol
Pour ton prob ... tu mets bien ton .html dans le rep 'src' de la façon suivante src/monfichier.html et ensuite le chemin complet de ton package ... dans ton cas en fait /bin/monfichier.html ... ou tu le mets dans le même rep que le .class ???
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 1 juil. 2004 à 10:35
:big) Neodante :big)
Mais au fait rien à voir avec le classpath Eclipse sauf si tu utilises l'applet viewer dans le menu d'exécution d'Eclipse ... si tu as une page HTML c'est que tu n'utilises pas Eclipse pour l'afficher (ce qui n'est pas plus mal si tu veux le mettre en prod ...) .... juste comme ça ...
@++
RealKEV1
Messages postés50Date d'inscriptionvendredi 18 juin 2004StatutMembreDernière intervention30 décembre 2004 1 juil. 2004 à 11:27
Merci pour tes infos sur l'arborescence Neodante, mais quel est le l'arborescence type pour une applet java???
On met les .class et .java dans un folder "src", les images dans un folder "images" et le .html et le .jar en dehors, c'est bien ça??? J'aimerais connaitre tout ça, c'est pour ça que je pose bcp de questions, dsl.
Pour mon probleme, g supprimé le folder "src".
Je me retrouve donc avec:
Java(project)
bin
com
test
applet (.class, .java, .html)
Dans applet.html, j'appelle applet.class tout simplement.
et g l'erreur suivante:
java.lang.NoClassDefFoundError: applet
(wrong name: com/test/applet/applet)
Je ne comprends pas???
PS: oui, en effet, je n'utilises pas Eclipse pour lancer mon applet. Mais mon browser directement.
RealKEV1
Messages postés50Date d'inscriptionvendredi 18 juin 2004StatutMembreDernière intervention30 décembre 2004 1 juil. 2004 à 12:09
Ca y est, je viens de trouver l'erreur!
Le chemin est bon mais c mon appel à la classe dans mon .html qui déconne, car j'appele applet.class et dans mon explorateur windows je ne vois que applet$1.class, applet$2.class, applet$3.class.
Pourquoi ça???? comment cela se fait-il????? Help plizz!!!
NB: Par contre, concernant ma question sur la bonne arborescence (nommage des folders, etc...) pour un project Java, je suis tout ouie!!!
RealKEV1
Messages postés50Date d'inscriptionvendredi 18 juin 2004StatutMembreDernière intervention30 décembre 2004 1 juil. 2004 à 12:45
Ouffff, g corrigé le probleme de "applet$1.class", mais maintenant on retourne à la case départ! :o(
Je ne voudrais pas trop vous embêter mais là g vraiment besoin d'aide svp!
J'ai mon Java Build Path, qui est tjs "Java/bin".
Path: /Java, Location: C:\Documents\Java.
Mon Classpath qui est tjs à path="bin" (src et output).
Mon arborescence tjs la meme:
Java (Project)
bin
com
test
applet (là g mes .class, .java, .html et java.policy.)
Dans mon applet.html, je mets le chemin: applet.class.
Et lorsque je vais sur les Properties de mon fichier html:
Path: /Java/bin/com/test/applet/applet.html
Location: C:\Documents\Java\bin\com\test\applet\applet.html
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 1 juil. 2004 à 15:20
:big) Neodante :big)
Y a pas de structure de rep type pour une applet ... tes HTML vont soit dans un rep common, ext ou autres soit dans le bin (attention le bin est souvent écrasé et créé automatiquement lors de la construction automatisé de l'appli ...)
Ton prob viens du fait que tu mets le HTML dans le même rep que ta classe .... lorsque tu travailles avec des packages le nom de ta classe devient en réalité 'package.MaClasse' cad 'com.test.applet.Applet', les imports servent simpelment dans le code à ne pas répéter à chaque java.lang.String (paquet lang importé par défaut dans toutes les sources ...) mais simplement marqué String .... le compilo sait puisque le paquet est importé que c'est la classe situé dans java.lang qui est utilisé et non celle dans toto.mesclasses.String : résolution des conflits de nom !!!
Donc mets ton HTML à la racine de src et mets tout le chemin ... la machine virtuelle a besoin de tout le chemin ... com.test.applet.Applet.class !!
@+
RealKEV1
Messages postés50Date d'inscriptionvendredi 18 juin 2004StatutMembreDernière intervention30 décembre 2004 1 juil. 2004 à 16:22
D'accord, j'ai compris, merci bcp neodante !!!
G mis ma page html à la racine du bin, et avec le chemin complet du package, et c ok!!!
Par contre, je me rends compte que je n'ai pas besoin de packages pour differencier mes applets en fait.
Dans le bin, je peux mettre:
- 1 folder pour les .class, .java.
- 1 folder pour les images
- 1 folder ext pour mon fichier html
Et lorsque je dois faire une nouvelle applet, je créé un nouveau projet avec ce type d'arborescence.
C'est bon??????
Par contre, je mets ou mon fichier Jar ainsi que le fichier java.policy.applet (à quoi sert-il?) ???
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 1 juil. 2004 à 19:50
:big) Neodante :big)
Tout compris !!!
Le JAR est la version compressé et empaqueté de ton applet et de ses ressources ... m'enfin y a d'autres choses à savoir concernant les JAR mais ce serait trop long à t'expliquer donc je te redirige vers Google ...
Le policy pour le moment ne te sert à rien je pense, c'est un fichier pour la sécurité et les accès que peux avoir ton applet sur la machine ...
@+
RealKEV1
Messages postés50Date d'inscriptionvendredi 18 juin 2004StatutMembreDernière intervention30 décembre 2004 2 juil. 2004 à 15:01
Ok, donc mon policy doit se trouver ds mon repertoire ou il y a mes .class et .java!! Et donc, dans mon Jar lorsque je vais empaqueter le tout!
Mon Jar qui se trouvera à la racine (bin) avec mon .html!
G tout compris...
Je te remercie bcp pour ta patience et toutes ces explications neodante!
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 20 janv. 2006 à 19:36
Salut,
e-tu sur que tu as bien modifié le fichier policy du JDK utilisé ??? Attention Eclipse à tendance à utiliser un autre de celuà qui ont pense !!! Pour savoir lequel est utilisé fait System.getProperty("java.home");
ZedPrime
Messages postés2Date d'inscriptionvendredi 20 janvier 2006StatutMembreDernière intervention20 janvier 2006 20 janv. 2006 à 20:03
Heuu ...
le fichier java.policy.applet dont j'ai mis le code source est
à la racine de mon projet , et c'est lui qui est compacté dans le .jar.
C'est donc forcément lui qui est utiliZé je pense.
Par ailleurs, lorsque je lance l'applet depuis eclipse, tout
fonctionne. C'est une fois encapsulé dans le .jar puis lancer depuis un
browZer que le probleme survient.
Quant à System.getProperty("java.home"); il me renvoie le path de jre1.5.0_06 dans lequel il n'y a aucun fichier policy