Difference between revisions of "Java (Italiano)"

From ArchWiki
Jump to: navigation, search
(Creazione pagina italiana)
 
m
(46 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[Category:HOWTOs (Italiano)]]
+
[[Category:Programming language (Italiano)]]
[[Category:Other desktop user's resources (Italiano)]]
+
[[cs:Java]]
{{i18n|Java}}
+
[[de:Java]]
 +
[[en:Java]]
 +
[[es:Java]]
 +
[[fr:Java]]
 +
[[ja:Java]]
 +
[[pt:Java]]
 +
[[ru:Java]]
 +
[[tr:Java]]
 +
{{Article summary start}}
 +
{{Article summary text|This article explains how to install and configure JRE/JDK.}}
 +
{{Article summary heading|Related}}
 +
{{Article summary wiki|Java Package Guidelines}}
 +
{{Article summary end}}
  
{{translateme}}
+
"''Java è un linguaggio di programmazione originariamente sviluppato da Sun Microsystems e rilasciato nel 1995 come componente centrale della piattaforma Java della Sun Microsystems. Il linguaggio deriva gran parte della sua sintassi dal C e dal C++ ma ha un modello a oggetti più semplice e una minore quantità di ottimizzazioni a basso livello. Le applicazioni Java sono tipicamente compilate in bytecode che può essere eseguito su qualsiasi Java Virtual Machine (JVM) indipendentemente dall'architettura hardware.''" — [[Wikipedia:Java (programming language)|Wikipedia article]]
{{Nota|Questo articolo è in fase di traduzione. Seguite per ora le istruzioni della versione inglese.}}
+
  
"''Java is a programming language originally developed by Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture.''" [http://en.wikipedia.org/wiki/Java_(programming_language)]
+
==Installazione==
 +
L'unica implementazione della Java Virtual Machine supportata da Arch Linux è [http://openjdk.java.net/ OpenJDK] (open source). Quest'ultima è quasi perfetta e non dovrebbe essere necessario installare l'implementazione Java proprietaria di Oracle. Se si vuole installare l'implementazione di Oracle a fianco di OpenJDK, si veda la sezione [[#JDK-compat]].
  
==Installation==
+
{{Nota|Dopo l'installazione l'ambiente Java deve essere riconosciuto dalla shell (la variabile {{Ic|$PATH}} e {{Ic|$JAVA_HOME}} devono essere aggiornate). Questo può essere fatto dalla linea di comando eseguendo il comando source sul file {{Ic|/etc/profile}}; oppure, per gli ambienti Desktop, sarà sufficiente uscire e rientrare dalla propria sessione di lavoro (logout/login).}}
There are two Java Virtual Machines in the Arch repos that can be installed on your system — the OpenJDK open source implementation and Sun's closed source implementation. Arch recommends [http://openjdk.java.net/ OpenJDK.]
+
  
===OpenJDK JVM===
+
===OpenJDK===
To be able to run Java programs, you can install OpenJDK from the repositories. This also installs a Java Development Kit.
+
Il Java Runtime Environment ("JRE") di OpenJDK può essere installato attraverso il pacchetto {{Pkg|jre7-openjdk}}, disponibile nei [[Official Repositories|repository ufficiali]]. È anche disponibile il Java Development Kit ("JDK") installabile attraverso il pacchetto {{Pkg|jdk7-openjdk}}.
  
{{Note | Installing either openjdk6 or jre will also install the Java plugin for Firefox. However, in case you experience any problems with the Java plugin, you can try the solution suggested for the Firefox Flash plugin: [[Flash#Plugins_are_installed_but_not_working]]}}
+
Se si desidera utilizzare le funzionalità Java negli web browsers ([[Wikipedia:Java applet|Java applets]] e [[Wikipedia:Java Web Start|Java Web Start]]), installare il pacchetto {{Pkg|icedtea-web-java7}}. Per altri dettagli si legga [[Browser Plugins#Java (IcedTea)]].
  
# pacman -S openjdk6
+
==== Segnalare i pacchetti come out-of-date ====
 +
*{{Pkg|jre7-openjdk}}, {{Pkg|jdk7-openjdk}} e {{Pkg|jre7-openjdk-headless}} vanno segnalati come out-of-date in base alla loro [http://icedtea.wildebeest.org/download/source versione ''IcedTea''] (es. {{ic|2.4.3}}) e non in base alla loro versione Oracle (es. {{ic|u45}}).
 +
*{{Pkg|icedtea-web-java7}} va segnalato come out-of-date in base alla [http://icedtea.wildebeest.org/download/source versione di ''IcedTea Web''] (es. {{ic|1.4.1}}), che è completamente indipendente dalla versione di ''IcedTea''.
  
{{Note | If you use a non-reparenting window manager, you should uncomment the line in /etc/profile.d/openjdk6.sh (don't forget to export it also)}}
+
===Oracle Java SE===
 +
[[AUR]] contiene i pacchetti per l'implementazione Oracle di Java: si vedano i pacchetti {{AUR|jre}} and {{AUR|jdk}}.
  
===Sun JVM===
+
==== Java SE 6 ====
To be able to run Java programs, you can install the Sun JRE from the repositories:
+
[[AUR]] contiene i pacchetti per {{AUR|jre6}} e {{AUR|jdk6}} che costituiscono l'implementazione di Oracle per Java SE 6.
# pacman -S jre
+
  
You will need to log out and login again, or add /opt/java/jre/bin/ to $PATH to use the java bash command.  
+
==== JDK-compat ====
 +
Il JDK Oracle (sia versione 6 che 7) può essere installato a fianco di un'altra installazione Java (ad esempio OpenJDK). I pacchetti sono disponibili in [[AUR]]: {{AUR|jdk6-compat}} e {{AUR|jdk7-compat}}.
  
To create Java programs, you can install the Sun JDK from the repositories:
+
===Oracle JRockit===
# pacman -S jdk
+
[[Wikipedia:JRockit|JRockit]] è la versione JIT di Java fornita da Oracle ed è disponibile su AUR: {{AUR|jrockit}}.
  
{{Note|For Sun Java, you will need to source /etc/profile in order to for the JAVA_HOME path to point to the correct place}}
+
===VMkit===
# source /etc/profile
+
[http://vmkit.llvm.org/index.html VMkit] è un framework basato su LLVM per macchine virtuali JIT. J3 è una JVM eseguita su VMkit. J3 dipende dalle librerie GNU classpath, ma potrebbe anche funzionare con le librerie classpath di Apache.
 +
Per installare VMkit si faccia riferimento a questa pagina web: [http://vmkit.llvm.org/get_started.html VMKit - Getting Started].
  
===BEA JRockit JIT JVM (+JDK)===
+
===Parrot VM===
You can also install JIT version of Java from the [[AUR]].
+
[https://www.archlinux.org/packages/?q=parrot Parrot VM] offre uno sperimentale [http://trac.parrot.org/parrot/wiki/Languages supporto per Java] attraverso due differenti metodi: o come [http://code.google.com/p/parrot-jvm/ traduttore di bytecode della Java VM], o come un [https://github.com/chrisdolan/perk compilatore Java] avente come obiettivo la Parrot VM. È possibile installare Parrot VM attraverso [[AUR]]: {{AUR|parrot-git}}.
[http://aur.archlinux.org/packages.php?ID=11190 jrockit]
+
  
===Java sound with Pulseaudio===
+
==Risoluzione problemi==
By default, Java and Pulseaudio don't get along very well with each other, but this is easy to fix using padsp.
+
  
(These paths are correct for Sun's Java, you will need to change the paths for OpenJDK)
+
===MySQL===
 +
A causa del fatto che i JDBC-drivers usano spesso la porta nell'URL per stabilire una connessione col database, quest'ultimo viene considerato "remoto" nonostante JDBC e MySQL possano essere in esecuzione sullo stesso host (ad esempio: MySQL non è in ascolto di connessioni "remote" con la sua configurazione di default). Quindi, per usare JDBC e MySQL, si dovrebbe abilitare l'accesso remoto a MySQL seguendo le istruzioni nella [[MySQL#Enable remote access|pagina su MySQL]] dell'ArchWiki.
  
First, rename the java binary to java.bin
+
===Audio applicazioni Java con Pulseaudio===
 +
{{Nota | Questa procedura è utile solo per versioni precedenti di Java (Java 6).}}
 +
Di default Java e [[Pulseaudio]] non convivono molto bene l'uno con l'altro, ma questo problema è facilmente risolvibile usando padsp.
 +
 
 +
(Questi percorsi sono corretti per Java della Sun, è necessario cambiarli per OpenJDK)
 +
 
 +
Per prima cosa, rinominare l'eseguibile {{Ic|java}} in {{Ic|java.bin}}
 
  # mv /opt/java/jre/bin/java /opt/java/jre/bin/java.bin
 
  # mv /opt/java/jre/bin/java /opt/java/jre/bin/java.bin
Then, create a new launcher script at '''/opt/java/jre/bin/java'''
+
Successivamente, creare un nuovo script di esecuzione in {{Ic|/opt/java/jre/bin/java}}
 
  #!/bin/sh
 
  #!/bin/sh
 
  padsp /opt/java/jre/bin/java.bin "$@"
 
  padsp /opt/java/jre/bin/java.bin "$@"
Finally, make the launcher script executable
+
Infine rendere lo script eseguibile
 
  # chmod +x /opt/java/jre/bin/java
 
  # chmod +x /opt/java/jre/bin/java
You will need to redo this process on each update of Java.
+
E' necessario ripetere questa procedura ad ogni aggiornamento di Java.
 +
 
 +
E' anche possibile provare a sostituire padsp con aoss, che può risolvere il problema anche in Alsa così come in Pulse: scegliere la soluzione che funziona meglio. E' necessario avvisare che questi hack qualche volta funzionano perfettamente ma a volte possono essere anche molto instabili.
 +
 
 +
=== Usare un altro Window Manager ===
 +
Usando {{pkg|wmname}} da [http://tools.suckless.org/wmname  suckless.org] è possibile ingannare la JVM sul window manager in uso. Questo può risolvere dei problemi di visualizzazione delle Java GUI che si presentano con l'utilizzo di window manager come [[Awesome]] o [[Dwm]].
 +
 
 +
<pre>$ wmname LG3D</pre>
 +
 
 +
(È necessario riavviare l'applicazione in questione dopo aver eseguito il comando wmname.)
 +
 
 +
Questa soluzione è efficace in quanto la JVM contiene una lista "hard-coded" di window manager non-reparenting noti. Per il massimo dell'ironia, molti utenti preferiscono utilizzare con wmname il window manager non-reparenting [http://en.wikipedia.org/wiki/Project_Looking_Glass scritto da Sun]: <code>LG3D</code>.
 +
 
 +
=== I font sono illeggibili ===
 +
Nonostante l'applicazione dei consigli più in basso ([[#Miglioramento del font rendering]]), alcuni font potrebbero ancora non essere leggibili. In questo caso si può provare a installare {{AUR|ttf-ms-fonts}} da AUR.
 +
 
 +
==Trucchi e consigli==
 +
{{Nota | I suggerimenti in questa sezione sono applicabili a tutte le applicazioni che usano un JRE esplicitamente installato (esterno all'applicazione). Alcune applicazioni vengono impacchettate con il proprio runtime o usano delle meccaniche proprie per l'interfaccia grafica, il rendering dei font, ecc. Quindi non è garantito che i suggerimenti funzionino sempre.}}
 +
 
 +
Il comportamento di molte applicazioni Java può essere controllato fornendo delle variabili predefinite al JRE. Da [https://bbs.archlinux.org/viewtopic.php?id=72892 questo post] del forum, si può vedere che un modo di fare questo consiste nell'aggiungere le seguenti linee nel proprio {{Ic|~/.bashrc}} (oppure in {{Ic|/etc/profile.d/jre.sh}} per avere influenza su tutti gli utenti):
 +
 
 +
export _JAVA_OPTIONS="-D'''<option 1>''' -D'''<option 2>'''..."
 +
 
 +
Ad esempio, per usare i font del sistema dotati di anti-aliasing e per far sì che swing usi il "look and feel" GTK si può usare:
 +
 
 +
export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel'
 +
 +
=== Miglioramento del font rendering ===
 +
 
 +
Sia l'implementazione closed-source, sia quella open-source di Java sono note avere un'implementazione impropria  dell'antialiasing dei font. Questo può essere risolto attraverso le seguenti opzioni: {{Ic|1=awt.useSystemAAFontSettings=on}}, {{Ic|1=swing.aatext=true}}
 +
 
 +
===GTK LookAndFeel===
 +
 
 +
La grafica delle applicazioni che utilizzano Java potrebbe apparire sgradevole. In tal caso si potrebbe voler impostare diversamente il "look and feel" predefinito dei componenti swing: {{Ic|1=swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel}}.
 +
 
 +
Alcune applicazioni potrebbero ostinarsi ad usare il "look and feel" multipiattaforma chiamato Metal. In questi casi si può forzare l'applicazione ad usare il "look and feel" GTK con il seguente comando:{{Ic|1=swing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel}}.
  
You can also try replacing padsp with aoss, which can also fix it under standard ALSA as well as in Pulse, do what works best. I must warn everyone that these hacks sometimes work perfect, but are sometimes very unstable as well.
+
===Cambiare i symlinks===
 +
Tipicamente, l'installazione di OpenJDK genera dei symlinks in {{Ic|/usr/bin}} per java, javac... ecc. Se si vogliono cambiare questi symlinks (in seguito, ad esempio, all'installazione dell'implementazione Oracle), può essere d'aiuto [https://github.com/d1x/linux-utils/blob/master/replace-java-symlinks.sh questo] script.

Revision as of 14:55, 18 February 2014

Summary help replacing me
This article explains how to install and configure JRE/JDK.
Related
Java Package Guidelines

"Java è un linguaggio di programmazione originariamente sviluppato da Sun Microsystems e rilasciato nel 1995 come componente centrale della piattaforma Java della Sun Microsystems. Il linguaggio deriva gran parte della sua sintassi dal C e dal C++ ma ha un modello a oggetti più semplice e una minore quantità di ottimizzazioni a basso livello. Le applicazioni Java sono tipicamente compilate in bytecode che può essere eseguito su qualsiasi Java Virtual Machine (JVM) indipendentemente dall'architettura hardware." — Wikipedia article

Installazione

L'unica implementazione della Java Virtual Machine supportata da Arch Linux è OpenJDK (open source). Quest'ultima è quasi perfetta e non dovrebbe essere necessario installare l'implementazione Java proprietaria di Oracle. Se si vuole installare l'implementazione di Oracle a fianco di OpenJDK, si veda la sezione #JDK-compat.

Nota: Dopo l'installazione l'ambiente Java deve essere riconosciuto dalla shell (la variabile $PATH e $JAVA_HOME devono essere aggiornate). Questo può essere fatto dalla linea di comando eseguendo il comando source sul file /etc/profile; oppure, per gli ambienti Desktop, sarà sufficiente uscire e rientrare dalla propria sessione di lavoro (logout/login).

OpenJDK

Il Java Runtime Environment ("JRE") di OpenJDK può essere installato attraverso il pacchetto jre7-openjdk, disponibile nei repository ufficiali. È anche disponibile il Java Development Kit ("JDK") installabile attraverso il pacchetto jdk7-openjdk.

Se si desidera utilizzare le funzionalità Java negli web browsers (Java applets e Java Web Start), installare il pacchetto icedtea-web-java7. Per altri dettagli si legga Browser Plugins#Java (IcedTea).

Segnalare i pacchetti come out-of-date

Oracle Java SE

AUR contiene i pacchetti per l'implementazione Oracle di Java: si vedano i pacchetti jreAUR and jdkAUR.

Java SE 6

AUR contiene i pacchetti per jre6AUR e jdk6AUR che costituiscono l'implementazione di Oracle per Java SE 6.

JDK-compat

Il JDK Oracle (sia versione 6 che 7) può essere installato a fianco di un'altra installazione Java (ad esempio OpenJDK). I pacchetti sono disponibili in AUR: jdk6-compatAUR e jdk7-compatAUR.

Oracle JRockit

JRockit è la versione JIT di Java fornita da Oracle ed è disponibile su AUR: jrockitAUR.

VMkit

VMkit è un framework basato su LLVM per macchine virtuali JIT. J3 è una JVM eseguita su VMkit. J3 dipende dalle librerie GNU classpath, ma potrebbe anche funzionare con le librerie classpath di Apache. Per installare VMkit si faccia riferimento a questa pagina web: VMKit - Getting Started.

Parrot VM

Parrot VM offre uno sperimentale supporto per Java attraverso due differenti metodi: o come traduttore di bytecode della Java VM, o come un compilatore Java avente come obiettivo la Parrot VM. È possibile installare Parrot VM attraverso AUR: parrot-gitAUR.

Risoluzione problemi

MySQL

A causa del fatto che i JDBC-drivers usano spesso la porta nell'URL per stabilire una connessione col database, quest'ultimo viene considerato "remoto" nonostante JDBC e MySQL possano essere in esecuzione sullo stesso host (ad esempio: MySQL non è in ascolto di connessioni "remote" con la sua configurazione di default). Quindi, per usare JDBC e MySQL, si dovrebbe abilitare l'accesso remoto a MySQL seguendo le istruzioni nella pagina su MySQL dell'ArchWiki.

Audio applicazioni Java con Pulseaudio

Nota: Questa procedura è utile solo per versioni precedenti di Java (Java 6).

Di default Java e Pulseaudio non convivono molto bene l'uno con l'altro, ma questo problema è facilmente risolvibile usando padsp.

(Questi percorsi sono corretti per Java della Sun, è necessario cambiarli per OpenJDK)

Per prima cosa, rinominare l'eseguibile java in java.bin

# mv /opt/java/jre/bin/java /opt/java/jre/bin/java.bin

Successivamente, creare un nuovo script di esecuzione in /opt/java/jre/bin/java

#!/bin/sh
padsp /opt/java/jre/bin/java.bin "$@"

Infine rendere lo script eseguibile

# chmod +x /opt/java/jre/bin/java

E' necessario ripetere questa procedura ad ogni aggiornamento di Java.

E' anche possibile provare a sostituire padsp con aoss, che può risolvere il problema anche in Alsa così come in Pulse: scegliere la soluzione che funziona meglio. E' necessario avvisare che questi hack qualche volta funzionano perfettamente ma a volte possono essere anche molto instabili.

Usare un altro Window Manager

Usando wmname da suckless.org è possibile ingannare la JVM sul window manager in uso. Questo può risolvere dei problemi di visualizzazione delle Java GUI che si presentano con l'utilizzo di window manager come Awesome o Dwm.

$ wmname LG3D

(È necessario riavviare l'applicazione in questione dopo aver eseguito il comando wmname.)

Questa soluzione è efficace in quanto la JVM contiene una lista "hard-coded" di window manager non-reparenting noti. Per il massimo dell'ironia, molti utenti preferiscono utilizzare con wmname il window manager non-reparenting scritto da Sun: LG3D.

I font sono illeggibili

Nonostante l'applicazione dei consigli più in basso (#Miglioramento del font rendering), alcuni font potrebbero ancora non essere leggibili. In questo caso si può provare a installare ttf-ms-fontsAUR da AUR.

Trucchi e consigli

Nota: I suggerimenti in questa sezione sono applicabili a tutte le applicazioni che usano un JRE esplicitamente installato (esterno all'applicazione). Alcune applicazioni vengono impacchettate con il proprio runtime o usano delle meccaniche proprie per l'interfaccia grafica, il rendering dei font, ecc. Quindi non è garantito che i suggerimenti funzionino sempre.

Il comportamento di molte applicazioni Java può essere controllato fornendo delle variabili predefinite al JRE. Da questo post del forum, si può vedere che un modo di fare questo consiste nell'aggiungere le seguenti linee nel proprio ~/.bashrc (oppure in /etc/profile.d/jre.sh per avere influenza su tutti gli utenti):

export _JAVA_OPTIONS="-D<option 1> -D<option 2>..."

Ad esempio, per usare i font del sistema dotati di anti-aliasing e per far sì che swing usi il "look and feel" GTK si può usare:

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel'

Miglioramento del font rendering

Sia l'implementazione closed-source, sia quella open-source di Java sono note avere un'implementazione impropria dell'antialiasing dei font. Questo può essere risolto attraverso le seguenti opzioni: awt.useSystemAAFontSettings=on, swing.aatext=true

GTK LookAndFeel

La grafica delle applicazioni che utilizzano Java potrebbe apparire sgradevole. In tal caso si potrebbe voler impostare diversamente il "look and feel" predefinito dei componenti swing: swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel.

Alcune applicazioni potrebbero ostinarsi ad usare il "look and feel" multipiattaforma chiamato Metal. In questi casi si può forzare l'applicazione ad usare il "look and feel" GTK con il seguente comando:swing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel.

Cambiare i symlinks

Tipicamente, l'installazione di OpenJDK genera dei symlinks in /usr/bin per java, javac... ecc. Se si vogliono cambiare questi symlinks (in seguito, ad esempio, all'installazione dell'implementazione Oracle), può essere d'aiuto questo script.