Come specificare correttamente il codebase e l’archivio nell’applet Java?

Uso la versione firefox> 3.5 (3.5. , 3.6. , 4. *) E cerco di specificare correttamente la proprietà di archive e codebase ma non funziona. La mia class principale per l’applet si trova archive e alcune classi necessarie caricate durante il runtime si trovano nella codebase . Se si specifica solo l’ archive viene caricata l’applet ma mancano le classi di codebase . Se si specifica l’ archive e il codebase l’applet non può essere caricata. Sembra che l’applet provi a caricare la class principale dalla cartella del codebase e non guardi il file di archive .

    no applet    

La class principale si trova in http://myurl.com/archive/myjar.jar e le classi di runtime si trovano in http://myurl.com/classs .

Attribute codebase specifica l’URL di base dell’applet, la directory che contiene il codice dell’applet. Viene utilizzato durante la ricerca di file jar nell’attributo archive , in modo tale che tutti i vasi nell’attributo archive vengano ricercati rispetto a codebase .
Così. Quando si utilizza archive="http://myurl.com/archive/myjar.jar" e codebase="http://myurl.com/classs" insieme significa: trovare http://myurl.com/archive/ myjar.jar “ nella cartella http://myurl.com/classs .
Cioè il percorso di ricerca completo è http://myurl.com/classs/http://myurl.com/archive/myjar.jar . E ovviamente non può essere trovato!
Inoltre, le classi, i cui file jar non sono specificati nell’attributo archive , non possono essere trovati senza l’attributo codebase . Ad esempio, se non esiste una codebase non è ansible trovare le classi nella cartella http://myurl.com/classs .

Puoi trovare ulteriori dettagli nel tutorial Distribuire con l’applet tag .

Suggerisco la seguente soluzione :

  1. Colloca myjar.jar nella cartella http://myurl.com/classs ;
  2. Supponendo che MyClass.class sia nel pacchetto predefinito e in http://myurl.com/archive/myjar.jar , il seguente codice dovrebbe funzionare:

    no applet