¿Cómo especificar correctamente la base de código y el archivo en el applet de Java?

Utilizo la versión de Firefox> 3.5 (3.5. , 3.6. , 4. *) E bash especificar la propiedad del archive y la codebase correctamente, pero no funciona. Mi clase principal para applet se encuentra en el archive y algunas clases necesarias que se cargan durante el tiempo de ejecución se encuentran en la codebase . Si especifico solo el archive , el applet se carga pero faltan las clases de la codebase de codebase . Si especifico el archive y la codebase entonces el applet no se puede cargar. Parece que Applet intenta cargar la clase principal desde la carpeta de la codebase de codebase y no busca en el archive almacenamiento.

    no applet    

La clase principal se encuentra en http://myurl.com/archive/myjar.jar y las clases de tiempo de ejecución se encuentran en http://myurl.com/classes .

La codebase atributo especifica la URL base del applet, el directorio que contiene el código del applet. Se usa mientras se buscan archivos jar en el atributo de archive , de tal forma que se buscan todos los archivos jar en el atributo de archive relativo a la codebase de codebase .
Asi que. Cuando usa archive="http://myurl.com/archive/myjar.jar" y codebase="http://myurl.com/classes" juntos, significa: encuentre http://myurl.com/archive/ carpeta myjar.jar “ en http://myurl.com/classes .
Es decir, la ruta de búsqueda completa es http://myurl.com/classes/http://myurl.com/archive/myjar.jar . ¡Y por supuesto no se puede encontrar!
Además, las clases cuyos archivos jar no se especifican en el atributo de archive no se pueden encontrar sin el atributo de codebase . Es decir, si no hay una codebase entonces no hay forma de encontrar sus clases en la carpeta http://myurl.com/classes .

Puede encontrar más detalles en el tutorial Implementar con la etiqueta de applet .

Sugiero la siguiente solución :

  1. Coloque myjar.jar en la carpeta http://myurl.com/classes ;
  2. Suponiendo que MyClass.class está en el paquete predeterminado , y en http://myurl.com/archive/myjar.jar , el siguiente código debería funcionar:

    no applet