<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
<!-- $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo/xml/htdocs/proj/en/java/java-upgrade.xml,v 1.23 2006/10/19 12:07:13 nichoj Exp $ -->

<guide link="/proj/it/java/java-upgrade.xml" lang="it">
<title>Guida all'Aggiornamento di Java in Gentoo</title>

<author title="Autore">
  <mail link="nichoj@gentoo.org">Joshua Nichols</mail>
</author>
<author title="Autore">
  <mail link="kartk@gentoo.org">Karl Trygve Kalleberg</mail>
</author>
<author title="Redattore">
  <mail link="nightmorph@gentoo.org">Josh Saddler</mail>
</author>
<author title="Traduttore">
	<mail link="cristian.iannuzzi@gmail.com">Cristian Iannuzzi</mail>
</author>


<abstract>
Questa guida mostra come aggiornare Java su Gentoo, con i relativi concetti e tool di utilizzo.
</abstract>

<!-- The content of this document is licensed under the CC-BY-SA license -->
<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
<license/>

<version>1.0.12</version>
<date>2007-05-03</date>

<chapter>
<title>Introduzione</title>

<section>
<body>
<p>
Ciao e benvenuto. Ora, potreste chiedermi 'perche' voglio aggiornare la mia versione di Java?' Oppure, avete gia' iniziato il processo di aggiornamento ed un erroredi aggiornamento vi ha ridiretto a questa pagina? 
Lo scopo di questo documento e' quello di aiutarvi nell'aggiornamento al nuovo sistema Java. 
</p>
</body>
</section>

<section>
<title>Il nuovo sistema Java </title>
<body>
<p>
Per coloro che non hanno gia' preso confidenza con il nuovo sistema Java, ecco una lista di nuove caratteristiche:
</p>

<ul>
<li>Capacita' di cambiare durante l'esecuzione del sistema la VM corrente</li>
<li>Cambiamenti alle VM effettuati sia dall'utente che per il sistema hanno effetto immediato, e per di piu' non sono legati all'ambiente della shell(come per esempio lanciare env-update &amp;&amp; source /etc/profile dopo il cambiamento della VM di sistema).
</li>
<li>Ora il concetto di 'configurazione di una VM', che viene usata per emergere i pacchetti, ed e' configurata indipendentemente dal sistema di VM.</li>
<li>Per le versioni di Java, ie 1.3, 1.4, 1.5, etc, i pacchetti di configurazione delle vm vengono configurate in base al produttore ed alla versione di VM usata</li>
<li>La VM, durante un emerge di un pacchetto, viene cambiata al volo in accordo con la configurazione richiesta, cosi come la dipendenza di un pacchetto. Per esempio, alcuni pacchetti non compilano con la Java 1.5. In questi casi, la Java 1.4 VM puo' essere usata nel momento della compilazione di quel pacchetto.</li>
<li>I pacchetti Java che compilano con ant avranno il loro build.xml riscritto al momento della compilazione, per verificare che la versione corretta del bytecode Java sia compilata.</li>
<li>Java 1.5 viene resa unmasked, dopo un periodo di tempo che e' stata in package.masked</li>
<li>Java 1.6 sarà reso disponibile non appena rilasciato.</li>
</ul>
</body>
</section>

<section>
<title>Terminologie / Concetti</title>
<body>

<p>
Ora che si ha un'idea di cosa si vuole ottenere, di seguito vengono esposti alcuni concetti che possono essere utili prima di cominciare.
</p>

<dl>
  <dt>Generazione</dt>
  <dd>
	Questo e' un concetto nuovo. Una generazione e' un'insieme di tool e classi per costruire pacchetti Java.
	Cosi ad un certo punto, cominciamo ad aggiornare dalla generazione(Es. Java 1.4) attuale a quella nuova. 
	Durante questo periodo di aggiornamento	entrambe le versioni, ovvero sia la nuova versione che quella gia' 
	presente sul nostro sistema, coesistono, cosi come coesistono anche nel portage tree. Potremmo per esempio, 
	avere un sistema VM per la Generazione-1 <e>e</e> un sistema VM per Generazione-2. Cosi facendo, 
	i pacchetti che usano la Generazione-1 e quelli che usano la Generazione-2 possono coesistere nel 
	sistema, mentre aggiorniamo alla .nuova versione della Java-VM.
  </dd>
  <dt>Generazione 1</dt>
  <dd>
	Questa generazione consiste nelle classi attuali(java-pkg, java-utils, and java) e
	<c>java-config-1.</c> Generation 1 e' il sistema che si sta' eliminando.
  </dd>
  <dt>Generation 2</dt>
  <dd>
	Questa generazione consiste nelle nuove classi (java-pkg-2, java-pkg-opt-2, java-ant-2, and java-utils-2) e la nuova versione di java-config. Questa e' la generazione verso cui stiamo aggiornando.
  </dd>
  <dt>Sistema VM di Generazione 1 </dt>
  <dd>
	Questa e' la VM utilizzata per emergere i pacchetti che utilizzano classi della Generazione-1. Viene settata usando <c>java-config-1 --set-system-vm &lt;vm scelta&gt;</c>.
  </dd>
  <dt>Sistema VM di Generazione 2</dt>
  <dd>
	Con questa generazione, la VM di sistema viene utilizzata solo da root, e dagli utenti che hanno settato la propria VM.
  </dd>
  <dt>Compilazione VM Generazione 2</dt>
  <dd>
	La Generazione 2, introduce nuove classi per la VM. La VM può essere configurata e/o cambiata anche solo quando si 
	stà per effettuare un emerge di pacchetti Java. Tale configurazione e' necessaria secondo le dipendeze del pacchetto.
	Per esempio, se un pacchetto compila solo con la 1.4, deve essere usata la VM 1.4. Di default sono definiti in
	<path>/usr/share/java-config-2/config/jdk-defaults.conf</path>.
	Ulteriormente, la configurazione della VM, può essere definita in
	<path>/etc/java-config-2/build/jdk.conf</path>. 
  </dd>
</dl>

</body>
</section>
</chapter>

<chapter>
<title>Aggiornamento java-config</title>
<section>
<body>

<p>
Se un nuovo pacchetto, <c>java-config-wrapper</c>, e' bloccato dalla vecchia versione di
<c>java-config</c>, allora dobbiamo rimuoverlo, come prima cosa:
</p>

<pre caption="Rimozione vecchia java-config">
# <i>emerge -C java-config</i>
</pre>

<p>
Ora installiamo la nuova versione di <c>java-config</c>:
</p>

<pre caption="Installazione della nuova versione di java-config">
# <i>emerge -1 "=java-config-1*" "=java-config-2*"</i>
</pre>

</body>
</section>
</chapter>

<chapter>
<title>Controllo Environment</title>
<section>
<body>

<p>
Bisogna ora procedere con, <c>java-check-environment</c>. Cio' verifica se vi sono problemi 
nel nostro environment, suggerendo eventuali azioni da fare, nel caso vengano trovati errori. 
Lanciamo:
</p>

<pre caption="Controllo environment">
# <i>java-check-environment</i>
</pre>

<p>
Se java-check-environment incontra qualche problema, si arresterà comunicando la strada 
da seguire per risolvere tale problema. Dopo aver eseuito i consigli suggeriti da tale controllo,
bisogna rieseguire java-check-environment fino a che non si eliminano tutti gli eventuali problemi.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Aggiornamento... completato!</title>
<section>
<body>
<p>
Se avete ottenuto questo risultato, il vostro sistema e' aggiornato. Complimenti!!
</p>

<p>
Ora che avete aggiornato, potreste voler dare un'occhiata alla nostra documentazione aggiornata:
</p>

<ul>
 <li><uri link="/doc/it/java.xml">Guida Utente</uri></li>
 <li><uri link="java-devel.xml">Guida Sviluppatore</uri></li>
</ul>
</body>

</section>
</chapter>

<chapter>
<title>Domande e Risposte Comuni</title>
<section>
<body>
<p>
Per segnalare problemi comuni riscontrati durante l'aggiornamento di Java, il team di Java ha creato una pagina sul wiki <uri link="http://overlays.gentoo.org/proj/java/wiki/Common_Problems">here</uri>. Prima di richiedere eventuale, aiuto o supporto altrove,
si consulti questa pagina.
</p>
</body>

</section>
</chapter>
</guide>