Main Contents

Java SDK update3 sotto Compiz ORA!

Guide e How-to, Linux, Software, Ubuntu

Ciao a tutti.
Qualcuno probabilmente mi aveva dato per morto, ma purtroppo o per fortuna, sono ancora qui.
Ho avuto molto da fare in questi giorni, ma nonostante tutto sono riuscito ad incasinarmi per l’ennesima volta con le mie stesse mani…

I programmatori veri a questo punto sono invitati a non proseguire nella lettura, sto per elencare una serie di stupidaggini che potrebbero offenderli anche se non è mia intenzione farlo :P

Tutto iniziò in una giornata di pioggia, ero a lavoro e nella pausa pranzo mi sono trovato “per caso” sul sito di Netbeans.
OOOOOOOOH! 8-)
Ho dato un’occhiata ai tutorial e mi sono fatto prendere dall’entusiasmo, sembrava che chiunque in grado di muovere un mouse potesse creare senza scrivere una riga di codice una bella applicazione java con tanto di finestrelle e bottoni.
Premetto che la programmazione sta a me come il fai-da-te starebbe ad un notaio: in parole povere per me è un hobby e per quanto possano fare schifo le mie opere avranno sempre un posto d’onore :P

Comunque dopo averlo guardato più che provato a lavoro, sono corso subito a casa a installarlo sulla mia Ubuntu (… no uso ancora Feisty)

Noooooooo!
Vi è mai capitato di avviare un’applicazione Java mentre sta girando Compiz e vedere la finestra tutta bianca?
Beh con Netbeans (installato dai repository) è successo…
Dopo una rapida googleggiata ho scoperto che era un problema noto e risolto nell’update 2 dell’ultimo Java Runtime Enviroment.
Vado a fare un giro in casa Sun e vedo che siamo già all’update 3, mentre Ubuntu sembra non smuoversi dall’ update 1…
Certo potrei stoppare compiz e usare Netbeans lo stesso, ma a me le cose semplici non piacciono per niente e così decido di trovare il sistema per installare l’ultima versione di Java al posto di quella dei repo e visto che ci sono mi scarico anche il nuovo Netbeans che non fa mai male…

Ma ora bando alle ciance e passiamo all’how-to vero e proprio.

@edit: Per conservare il pacchetto ufficiale rilasciato nei repository di Ubuntu, esiste un metodo di installazione alternativo che consiste nell’installare il Jre o il Jdk in una directory (solitamente /opt) per conservare intatto il pacchetto ufficiale e poter beneficiare degli aggiornamenti automatici.

1. Scaricare JDK update 3

http://java.sun.com/javase/downloads/index.jsp
Scegliete il pacchetto per Linux (ovviamente) autoestraente (non l’RPM)
jdk-6u3-linux-i586.bin

2. Installate fakeroot e java-package

sudo apt-get install fakeroot java-package
Quest’ultimo è una serie di script fatti apposta per pacchettizzare le varie JRE o JDK per debian, ma al momento in cui scrivo tale pacchetto non è ancora aggiornato per funzionare con l’ultima versione di java e bisognerà fare un piccolo hack per renderlo utile al nostro scopo.

3. Modifica (eventuale) degli script di java-package

cd /usr/share/java-package
ls

Controlliamo se nell’output è presente la directory
sun-j2sdk1.6
se c’è, vuol dire che nel frattempo hanno aggiornato java-package e possiamo tranquillamente saltare al punto 4

Se non c’è la creiamo copiando sun-j2sdk1.5
sudo cp sun-j2sdk1.5 sun-j2sdk1.6
Entriamo nella directory appena creata e modifichiamo i due file install.sh e sun-j2sdk.sh

cd sun-j2sdk1.6
sudo gedit install.sh

In questo script va cambiata solamente la prima riga. Deve essere così:
suffix=j2sdk1.6-sun
Salviamo e chiudiamo.
sudo gedit sun-j2sdk.sh
Nella prima sezione noterete un blocco che inizia con
case case "${DEB_BUILD_ARCH:-$DEB_BUILD_GNU_TYPE}" in ...
alla fine di quel blocco (prima della parola esac)
aggiungete queste righe:
"jdk-6u3-linux-i586.bin") #Tra virgolette il nome del file scaricato dal sito della Sun
j2se_version=1.6
j2se_expected_min_size=130
found=true
;;

Salvate e chiudete.

4. Pacchettizziamo la JDK

Ora che i nostri script sono pronti possiamo tornare alla nostra home o altra directory in cui abbiamo scaricato la JDK e pacchettizzarla
fakeroot make-jpkg jdk-6u3-linux-i586.bin
Accettiamo la licenza e lasciamo che si crei il pacchetto .deb nella directory attuale

5. Disinstalliamo i vecchi pacchetti Java (se c’erano)

sudo apt-get remove sun-java6-*

6. Installiamo la JDK

sudo dpkg -i sun-j2sdk1.6_1.6_i386.deb

7. Aggiustiamo le variabili d’ambiente per Java

sudo gedit /etc/enviroment
Il file dovrà apparire così:
PATH=".:/usr/lib/j2sdk1.6-sun/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG="it_IT.UTF-8"
JAVA_HOME="/usr/lib/j2sdk1.6-sun"
CLASSPATH="/usr/lib/j2sdk1.6-sun/lib:/usr/lib/j2sdk1.6-sun/classes"
LANGUAGE="it_IT:it:en_GB:en"

8. Dulcis in fundo… il plugin per firefox!

sudo ln -sf /usr/lib/j2sdk1.6-sun/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/firefox/libjavaplugin_oji.so

Ce la siamo… ehm, abbiamo fatta! (spero)

Verifica… he he he

Andiamo a questo link per eseguire il test della jvm.
Se vi appare il coso che balla e la scritta “Congratulations…” significa che tutto è andato a buon fine :)

Ora possiamo goderci delle chicche del calibro di Netbeans 6.0 Beta2 senza dover disattivare Compiz!
Netbeans + Compiz-Fusion su Ubuntu 7.04 Feisty Fawn

Tags: , , , , ,

Gianluca S. @ 00:30 del 6 Novembre 2007

4 commenti

  1. nicola Dicembre 15, 2007 @ 18:14

    sembro essere riuscito ad installare il tutto,
    —————————-
    java -version
    java version “1.6.0_03″
    Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
    Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)
    —————————-
    ma la finestra continua ad essere bianca…
    immagino il problema risieda nella riga che definisce il classpath in /etc/enviroment …”/usr/lib/j2sdk1.6-sun/classes”
    io la directory classes non ce l’ho..
    è possibile??
    grazie
    Nicola

  2. Gianluca S. Dicembre 22, 2007 @ 15:32

    Ciao Nicola.
    Trovo molto strano che non sia presente la directory “classes” nel pecorso di installazione della jdk.
    Prova a dare un’occhiata all’intera struttura della directory e magari postami il risultato.
    Per quanto riguarda Netbeans, se lo avevi già installato prima di sistemare l’update della Jdk è facile che vada a prendere comunque la vecchia Virtual Machine e quindi continui a dare problemi, ma si può ovviare a questo problema facilmente inserendo come riga di comando per avviare Netbeans (puoi modificare l’icona d’avvio o la voce di menu) in questo modo:

    netbeans -jdkhome /usr/lib/j2sdk1.6-sun

  3. gigi Dicembre 31, 2007 @ 14:37

    Ciao, ho commesso l’errore di installare direttamente il pacchetto bin che si scarica dal sito della sun (con un “sh jdk-6u3-linux-i586.bin”)…l’installazione è andata a buon fine ma è avvenuta sul mio desktop. Come posso cancellare i files installati e ripetere l’installazione?

  4. Gianluca S. Dicembre 31, 2007 @ 15:27

    Nessun problema, proprio perchè i file sono stati messi nella tua home ti basta eliminare l’intero albero generato.
    Puoi farlo dal desktop oppure da terminale con
    rm -r nomedirectory
    NB: lo script di installazione, non fa altro che estrarre i file della JDK nel sistema, infatti bisogna poi “informare” il sistema della posizione della JDK utilizzando update-alternatives.
    Un modo molto brutale (senza creare il pacchetto .deb) di installare la JDK è ad esempio quello di eseguire lo script e spostare tutto l’albero directory generato ad esempio in /opt ed infine usare update-alternatives… potrebbe essere argomento per il mio prossimo post :)

Lascia un commento


Feed