Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > e05c4514608e650af9b28d9be1d35a18 > files > 677

howto-html-it-10.1-4mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
 <TITLE>       HOWTO Java su Linux: Note su Problemi Noti</TITLE>
 <LINK HREF="Java-HOWTO-8.html" REL=next>
 <LINK HREF="Java-HOWTO-6.html" REL=previous>
 <LINK HREF="Java-HOWTO.html#toc7" REL=contents>
</HEAD>
<BODY>
<A HREF="Java-HOWTO-8.html">Avanti</A>
<A HREF="Java-HOWTO-6.html">Indietro</A>
<A HREF="Java-HOWTO.html#toc7">Indice</A>
<HR>
<H2><A NAME="s7">7.</A> <A HREF="Java-HOWTO.html#toc7">Note su Problemi Noti</A></H2>


<H2><A NAME="ss7.1">7.1</A> <A HREF="Java-HOWTO.html#toc7.1">Il Make di GNU non funziona pi&ugrave; dopo l'installazione di Java.</A>
</H2>

<P>Versioni recenti di libc correggono un baco che nascondeva
un errore in GNU Make (il sintomo &egrave; che make non cerca pi&ugrave;
le regole in Makefile).
Le note alla release 5.2.8 di libc contengono un patch che
corregge il problema.</P>
<H2><A NAME="classpath"></A> <A NAME="ss7.2">7.2</A> <A HREF="Java-HOWTO.html#toc7.2">Errore: too many arguments'</A>
        </H2>

<P>La variabile CLASSPATH non &egrave; correttamente inizializzata.
In .java_wrapper, c'&egrave; del codice simile a questo:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
PRG=`which $0`
J_HOME=`dirname $PRG`/..
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Sfortunatamente, il comando 'which' di linux &egrave; scorretto, e
certe shell impostano $0 all'intero pathname.
Randy Chapman dice di corregerlo sia usando:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
J_HOME=`dirname $0`/..
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>che, in modo pi&ugrave; sicuro:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
J_HOME=/usr/local/java
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Una correzione alternativa da Dave Dittrich &egrave;:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
PRG=`csh -c "which $0"`
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>E un'altra da Tim Farnum &egrave; di cambiare la riga
<CODE>PRG=`which $0`</CODE> con:
<BLOCKQUOTE><CODE>
<PRE>
PRG=$0
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Lutz Behnke suggerisce:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
PRG=`type -path $0` >/dev/null 2>&amp;1 
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Un simile cambiamento deve essere fatto anche nello script
appletviewer.</P>
<H2><A NAME="ss7.3">7.3</A> <A HREF="Java-HOWTO.html#toc7.3">Errore: `cannot find class java/lang/Thread'</A>
</H2>

<P>La variabile CLASSPATH non &egrave; correttamente inizializzata.
Vedi 
<A HREF="#classpath">sopra</A>.</P>
<H2><A NAME="ss7.4">7.4</A> <A HREF="Java-HOWTO.html#toc7.4">Un messaggio di errore si riferisce a /dev/zero</A>
</H2>

<P>Da root eseguite <CODE>chmod 666 /dev/zero</CODE>.</P>
<H2><A NAME="ss7.5">7.5</A> <A HREF="Java-HOWTO.html#toc7.5">SEGFAULT</A>
</H2>

<P>Occasionalmente potreste trovarvi con lo schermo pieno di 
messaggi d'errore, e il sistema riempie allegramente la
vostra area di swap e si blocca.</P>
<P>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.</P>
<P>(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!)</P>
<P>Java sembra richiedere un mucchio di risorse, cos&igrave; 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).</P>
<H2><A NAME="ss7.6">7.6</A> <A HREF="Java-HOWTO.html#toc7.6">bin/java, bin/javac, o bin/appletviewer vi danno un messaggio di help</A>
</H2>

<P>avete dimenticato qualche parametro su una riga di comando.</P>
<H2><A NAME="ss7.7">7.7</A> <A HREF="Java-HOWTO.html#toc7.7">Gli applet sono visibili nel viewer, ma non sul web.</A>
</H2>

<P>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 &egrave; '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)</P>
<P>E' stato inoltre riferito che tinyhttpd, un HTTP server scritto 
in Perl, fornisce un errato tipo di contenuto.
Apache, invece, &egrave; piuttosto affidabile.</P>
<H2><A NAME="ss7.8">7.8</A> <A HREF="Java-HOWTO.html#toc7.8">Log dei problemi</A>
</H2>

<P>Joey Oravec ci dice che HotJava tiene traccia di ci&ograve; che fa e 
dei problemi che incontra. Se cercate di diagnosticare qualcosa
da voi, guardate in $HOME/.hotjava/weblog.
Quel file vi far&agrave; notare se forse vi manca una libreria o altro.</P>
<HR>
<A HREF="Java-HOWTO-8.html">Avanti</A>
<A HREF="Java-HOWTO-6.html">Indietro</A>
<A HREF="Java-HOWTO.html#toc7">Indice</A>
</BODY>
</HTML>