Versioni recenti di libc correggono un baco che nascondeva un errore in GNU Make (il sintomo è che make non cerca più le regole in Makefile). Le note alla release 5.2.8 di libc contengono un patch che corregge il problema.
La variabile CLASSPATH non è correttamente inizializzata. In .java_wrapper, c'è del codice simile a questo:
PRG=`which $0`
J_HOME=`dirname $PRG`/..
Sfortunatamente, il comando 'which' di linux è scorretto, e certe shell impostano $0 all'intero pathname. Randy Chapman dice di corregerlo sia usando:
J_HOME=`dirname $0`/..
che, in modo più sicuro:
J_HOME=/usr/local/java
Una correzione alternativa da Dave Dittrich è:
PRG=`csh -c "which $0"`
E un'altra da Tim Farnum è di cambiare la riga
PRG=`which $0`
con:
PRG=$0
Lutz Behnke suggerisce:
PRG=`type -path $0` >/dev/null 2>&1
Un simile cambiamento deve essere fatto anche nello script appletviewer.
La variabile CLASSPATH non è correttamente inizializzata. Vedi sopra.
Da root eseguite chmod 666 /dev/zero
.
Occasionalmente potreste trovarvi con lo schermo pieno di messaggi d'errore, e il sistema riempie allegramente la vostra area di swap e si blocca.
Probabilmente vi manca una libreria da qualche parte. Rilanciate ldconfig -v e guardate cosa manca. Forse LD_LIBRARY_PATH o CLASS_PATH non sono impostate. Infine, alcuni applet sono bacati o bloccano il JDK Linux.
(Ad ogni modo, potete fermare il blocco usando un'altra Xterm con top; usate top per killare il processo java prima che riempia la swap e che il sistema si blocchi!)
Java sembra richiedere un mucchio di risorse, così dovreste tenere il numero di applicazioni aperte nel desktop al minimo. Su un 486DX2/75 con 8MB di RAM e 16MB di swap sono in grado di lanciare due applet di animazione simultaneamente prima che il mio sistema riempia la swap e si impicchi. (ci mette un minuto, comunque).
avete dimenticato qualche parametro su una riga di comando.
Un errore comune che produce questo risultato consiste nello sbagliare il tipo MIME dell'applet. Il vostro server deve inviare un header con l'applet indicante che il tipo MIME è 'text/plain', 'application/octet-stream', o qualche altro tipo che non ha un gestore definito sul lato client. Come correggere questo dipende da quale server state usando. (John Franks)
E' stato inoltre riferito che tinyhttpd, un HTTP server scritto in Perl, fornisce un errato tipo di contenuto. Apache, invece, è piuttosto affidabile.
Joey Oravec ci dice che HotJava tiene traccia di ciò che fa e dei problemi che incontra. Se cercate di diagnosticare qualcosa da voi, guardate in $HOME/.hotjava/weblog. Quel file vi farà notare se forse vi manca una libreria o altro.