Newsgroup: it.comp.java
Titolo: J2SDK 1.4.1

ho scaricato il j2sdk 1.4.1 (40 Mb!!!)...
uso linux RedHat 7.2
il file è:
j2sdk1.4.1.rpm.bin
da shell:
./j2sdk1.4.1.rpm.bin (Invio)
ho accettato la licenza e mi ha estratto il file rpm che ho installato
tranquillamente...
adesso dove l'ha messo? devo settare la PATH e la CLASSPATH?
l'ho già fatto per j2sdk1.2.2 ma in questo caso mi estraeva la cartella che
copiavo in /usr/local
adesso invece?
grazie mille
--------------------------------
Inviato via 
http://usenet.libero.it

allora..mi ha creato la cartella Java in /usr
quindi il percorso č:
/usr/java/j2sdk1.4.1_01
il file .bash_profile l'ho modificato in questo modo:
export JAVA_HOME=/usr/java/j2sdk1.4.1_01/
PATH=$PATH:$HOME/bin:/usr/java/j2sdk1.4.1_01/bin
CLASSPATH=.:/usr/java/j2sdk1.4.1_01/jre/lib/rt.jar
export CLASSPATH
export PATH
se provo a dare il run a questo programma:
import javax.swing.JOptionPane;
public class Welcome1 {
   public static void main( String args[] )
   {
      JOptionPane.showMessageDialog(null, "Ciao Luk!" );
      System.exit(0);
      }
   }
ecco l'errore:
[LeRoi@localhost Java]$ javac Welcome1.java
[LeRoi@localhost Java]$ java Welcome1
Exception in thread "main" java.lang.VerifyError: verification failed at PC
123 in
javax.swing.JComponent:getListeners((Ljava.lang.Class;)[Ljava.util.EventListener;):
incompatible return type
   at 0x4028115f: java.lang.Throwable.Throwable(java.lang.String)
(/usr/lib/libgcj.so.3)
   at 0x4027408e: java.lang.Error.Error(java.lang.String)
(/usr/lib/libgcj.so.3)
   at 0x40275b1a: java.lang.LinkageError.LinkageError(java.lang.String)
(/usr/lib/libgcj.so.3)
   at 0x402814fe: java.lang.VerifyError.VerifyError(java.lang.String)
(/usr/lib/libgcj.so.3)
   at 0x40257ac9: _Jv_BytecodeVerifier.verify_fail(byte, int)
(/usr/lib/libgcj.so.3)
   at 0x4024ac4d: _Jv_BytecodeVerifier.verify_instructions_0()
(/usr/lib/libgcj.so.3)
   at 0x40249697: _Jv_VerifyMethod(_Jv_InterpMethod) (/usr/lib/libgcj.so.3)
   at 0x40241a24: _Jv_PrepareClass(java.lang.Class) (/usr/lib/libgcj.so.3)
   at 0x40260568: java.lang.ClassLoader.linkClass0(java.lang.Class)
(/usr/lib/libgcj.so.3)
   at 0x40273073: java.lang.ClassLoader.resolveClass0(java.lang.Class)
(/usr/lib/libgcj.so.3)
   at 0x4024190b: _Jv_PrepareClass(java.lang.Class) (/usr/lib/libgcj.so.3)
   at 0x40260568: java.lang.ClassLoader.linkClass0(java.lang.Class)
(/usr/lib/libgcj.so.3)
   at 0x40273073: java.lang.ClassLoader.resolveClass0(java.lang.Class)
(/usr/lib/libgcj.so.3)
   at 0x4025e99c: java.lang.Class.initializeClass() (/usr/lib/libgcj.so.3)
   at 0x402415f8: _Jv_ResolvePoolEntry(java.lang.Class, int)
(/usr/lib/libgcj.so.3)
   at 0x4024865c: _Jv_InterpMethod.continue1(_Jv_InterpMethodInvocation)
(/usr/lib/libgcj.so.3)
   at 0x40248e34: _Jv_InterpMethod.run(ffi_cif, void, ffi_raw,
_Jv_InterpMethodInvocation) (/usr/lib/libgcj.so.3)
   at 0x40246424: _Jv_InterpMethod.run_normal(ffi_cif, void, ffi_raw, void)
(/usr/lib/libgcj.so.3)
   at 0x4039d1bc: ?? (??:0)
   at 0x4025b308: gnu.gcj.runtime.FirstThread.call_main()
(/usr/lib/libgcj.so.3)
   at 0x402c60b1: gnu.gcj.runtime.FirstThread.run() (/usr/lib/libgcj.so.3)
   at 0x40267fdc: _Jv_ThreadRun(java.lang.Thread) (/usr/lib/libgcj.so.3)
   at 0x4023478c: _Jv_RunMain(java.lang.Class, byte const, int, byte const,
boolean) (/usr/lib/libgcj.so.3)
   at 0x08048900: ?? (??:0)
   at 0x420158d4: ?? (??:0)
   at 0x080486c1: ?? (??:0)
[LeRoi@localhost Java]$


nessuno?


 
[CUT]
Non mi è mai capitato ma ci provo lo stesso :-) ...
Potrebbe essere secondo me che il tuo sistema sta utilizzando 
contemporeneamente due jdk.. 
Prova a controllare se per caso non esistano i file java o javac sotto 
/usr/bin .. se vuoi proprio essere sicuro provo a fare questo:
/usr/java/j2sdk1.4.1_01/bin/javac Welcome1.java
/usr/java/j2sdk1.4.1_01/bin/java Welcome1
Così se la mia ipotesi è corretta dovrebbe funzionare ...
Ciao 
Daniele
-- 
Daniele Piras
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If at first the idea is not absurd then there is no hope for it. - Albert
Einstein
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 Daniele Piras
forse hai ragione:
premetto che ho lasciato in /usr/local la directory jdk1.2.2
la cancello?
ho provato a fare come dici e non mi da tutto il papiro di errori ma solo
questa riga:
Exception in thread "main" java.lang.NoClassDefFoundError: Welcome1/java
aiutami!!!


 /usr/bin ..
ci sono!! ho controllato..che devo fare? cancellarli?



Se vuoi li puoi cancellare.. altrimenti cambia l'ordine nel path..
Invece di fare:
export PATH=$PATH:$HOME/bin:/usr/java/j2sdk1.4.1_01/bin
Fai:
export PATH=/usr/java/j2sdk1.4.1_01/bin:$PATH:$HOME/bin
Così vedrai che verrà cercato prima il file sotto il jdk che hai 
installato..
<SEMI-OT>
Generalmente io procedo in modo diverso.. creo un link simbolico sotto 
/usr/java (o usr/local) che chiamo JDK e che faccio puntare alla versione 
del jdk installato.Poi impostare le variabili di ambiente usando sempre il 
nome di tale link.
</SEMI-OT>


 Exception in thread "main" java.lang.NoClassDefFoundError: Welcome1/java
[CUT]
Questo è un errore da FAQ :-) ...cerca di leggere anche un pò di 
documentazione o i vecchi post prima di chiedere sul newsgroup...
Hai eseguito il file scrivendo
java welcome1.java
invece devi fare
java welcome1
Ciao
Daniele
-- 
Daniele Piras
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


 java welcome1
Che sbadato ... ho visto che la tua classe si chiama Welcome1 e non 
welcome1..
quindi devi fare
java Welcome1
Ciaus
