2009-03-08 9 views
5

Je me demande si vous pouvez mettre la classe principale (ou la classe avec la méthode init, peu importe) dans un paquet et l'avoir toujours dans un navigateur? La plupart du temps, j'ai mis mes applets dans le paquet (par défaut) mais mon applet est dans un paquet, alors est-ce que je peux encore l'incorporer dans la page web? Je l'ai googlé avec peu de résultats. Dites que j'ai MyApplet.class dans un répertoire appelé app dans le fichier jar appelé MyApp.jar.Applet Java avec init() dans un paquet?

J'ai essayé ces sans succès:

<applet archive="MyApp.jar" code="MyApplet.class"> 
<applet archive="MyApp.jar" code="app/MyApplet.class"> 
<applet archive="MyApp.jar" code="/app/MyApplet.class"> 
<applet archive="MyApp.jar/app/" code="MyApplet.class"> 
<applet archive="MyApp.jar" codebase="app/" code="MyApplet.class"> 

Chacun de ces me donne un ClassNotFoundException.

Merci d'avance.

Répondre

3

L'attribut archive doit contenir le nom du fichier du pot, et il doit être placé dans le même répertoire que la page Web .

Le fichier de classe dans l'attribut de code doit contenir le nom de classe entièrement qualifié, séparé par des barres obliques pour indiquer la structure de répertoire.

Par conséquent, dans votre liste d'essais tentés, l'essai 2 devrait réussir, à condition que MyApp.jar soit réellement présent le long de la page html. De plus, MyApp.jar devrait contenir le répertoire 'app' dans la racine, qui devrait contenir le fichier de classe MyApplet. N'oubliez pas d'inclure MyApplet dans le package de l'application.

Vous pouvez jeter un oeil à this page pour référence.

1

Je ne suis pas sûr, mais avez-vous essayé comme ça ?:

<applet archive="MyApp.jar" code="MyApplet"> 
3

Eh bien, vous lister le paquet dans une forme pointillée et vous ne mettez pas le '.class' à la fin.

<applet code="packagefolder1.packagefolder2.MyApplet" archive="folder1/folder2/MyApp.jar"> 

</applet>