Iniziare a programmare in Java su Ubuntu
jollyr0ger | December 8, 2007 | 3:32 pm
Ciao a tutti! Questo è il mio primo post su TuguLab e spero vi piaccia.
Oggi, vi volevo illustrare come si può iniziare a programmare in Java su una Ubuntu box (ma penso che funzioni in tutte le derivate Ubuntu e anche Debian). Bisognerà semplicemente installare i pacchetti (i programmi insomma) che compongo Java.

Avvertenze: il seguente manuale è stato pensato e testato per essere usato su una Ubuntu 7.10 Gutsy Gibbon. Questo vuol dire che su versioni o distribuzioni ci potrebbero essere alcuni accorgimenti da tenere in considerazione.
Quindi attenzione a ciò che fate!
Avendo i repository extra attivi, dovremo quindi aprire un Terminale (Applicazioni/Accessori/Terminale e non fatemelo ripetere!) e digitare:
sudo aptitude install sun-java6-bin sun-java6-jre sun-java6-jdk
Last but not least, controlliamo che il compilatore ufficiale Sun (quello che abbiamo appena installato) sia settato come compilatore java predefinito, con questo comando (grazie Murphy):
sudo update-alternatives --config java
Selezionando il numero della riga con scritto /usr/lib/jvm/java-6-sun/jre/bin/java e confermando. Se era già preceduta da un asterisco allora non c’è nè bisogno.
Ora siamo pronti per iniziare. Allora aprite un editor di testo (gEdit per noi) in cui scriveremo il nostro primo programma:
public class HelloTugu{
public static void main(String[] agrs){
System.out.println("Hello Tugu!!");
}
};
A questo punto salviamo il file nella nostra home con il nome HelloTugu.java (importante il file deve avere lo stesso nome della classe che contiene! altrimenti non và).
Riapriamo il Terminale e digitiamo:
javac HelloTugu.javajava HelloTugu
Con il primo comando compiliamo il codice. Se non vi restituirà nessun messaggio, ciò significa che non si sono commessi errori di sintassi. Con il secondo comando, si esegue il programma compilato.
»Utilizzare un IDE per programmare
Utilizzando gEdit avete visto come creare semplici programmi, ma scrivendo moli di codice maggiori si incontrano alcune difficoltà. Questo non vuol dire che con gEdit non sia possibile sviluppare seriamente (infatti vi farò vedere poi come è possibile trasformare gEdit in un ottimo strumento di sviluppo), ma volevo farvi vedere uno strumento progettato per sviluppare: Geany.
Questo è un semplice, leggero e potente editor di testo orientato allo sviluppo multi-linguaggio, che conterrà tante cose interessanti, ma che lascio a voi scoprire…
Passiamo a installarlo (bisogna avere i repository Extra attivi):
sudo aptitude install geany
Dopodichè lo apriamo dal menu Applicazioni/Programmazione e riapriamo il file HelloTugu.java
ora per compilare basterà premere F8 e per eseguire il programma creato F5. Più veloce no??
Stavo per dimenticare, durante la fase di compilazione se vi sono degli errori, vi verranno segnalati e sottolineati sul testo. Per velocizzare di molto la correttura.
Ultima cosa, Geany è adatto a sviluppare con molti linguaggi di programmazione, quindi tenetelo in conto per altri progetti…
Buon divertimento!
»Link utili













Posso suggerire una cosa? Di default Ubuntu (ma anche Debian e
Murphy | December 11, 2007 | 9:41 amPosso suggerire una cosa?
Di default Ubuntu (ma anche Debian e credo altre distro) usano un compilatore java già installato invece di quello ufficiale della sun anche se quest’ultimo è installato; ho provato a mie spese che questo compilatore è compatibile in larghissima parte con quello della sun ma crea parecchi problemi con gli array e anche ad Eclipse.
Per forzare Ubuntu ad utilizzare il compilatore sun bisogna dare:
sudo update-alternatives javae tra le opzioni listate scegliere quella ufficiale
ciao
Grazie Murphy per il tuo appunto! Sicuramente tornerà utile :D
jollyr0ger | December 11, 2007 | 1:27 pmGrazie Murphy per il tuo appunto! Sicuramente tornerà utile
utilissimo ma inesatto; nella fretta di scrivere ho cassato mezzo
Murphy | December 11, 2007 | 2:42 pmutilissimo ma inesatto; nella fretta di scrivere ho cassato mezzo comando.
quello giusto è
sudo update-alternatives --config javacon 2 trattini prima di config (lo dico perchè wordpress spesso se li mangia)
ciao
guarda provando a seguire il tuo consiglio ho ottenuto ciò: -------------------------------------------------------------------- sudo
jollyr0ger | December 11, 2007 | 6:21 pmguarda provando a seguire il tuo consiglio ho ottenuto ciò:
——————————————————————–
sudo update-alternatives –config java
Ci sono 5 alternative che forniscono `java’.
Selezione Alternativa
———————————————–
* 1 /usr/lib/jvm/java-6-sun/jre/bin/java
2 /usr/bin/gij-4.1
3 /usr/bin/gij-4.2
4 /usr/lib/jvm/java-gcj/jre/bin/java
+ 5 /usr/lib/j2se/1.4/bin/java
Premi invio per mantenere il default[*], o inserisci il numero da selezionare:
——————————————————————–
Quindi deduco che il num 1 è già il predefinito, ed io non avevo mai eseguito tal comando prima. Infine posso pensare che installando la versione ufficiale di java, venga automaticamente impostata come predefinita.
O è diverso?
Non so, sulla mia Lenny il default era la tua
Murphy | December 11, 2007 | 11:02 pmNon so, sulla mia Lenny il default era la tua opzione 4, e anche su una ubuntu che ho avuto per le mani qualche giorno fa ho dovuto rimetterla a posto.
Può anche darsi che lo faccia in automatico, comunque segnalarlo male non fa di certo; anche perchè è abbastanza frustrante ritrovarsi una caterva di errori del tipo missing java.lang in un programma corretto.
ciao
Questa è la mia configurazione: root@giuseppe-laptop:/home/giuseppe/projects/TemperatureConverter# sudo update-alternatives --config java Ci sono
Giuseppe Specchio | January 7, 2008 | 7:13 pmQuesta è la mia configurazione:
root@giuseppe-laptop:/home/giuseppe/projects/TemperatureConverter# sudo update-alternatives –config java
Ci sono 5 alternative che forniscono `java’.
Selezione Alternativa
———————————————–
1 /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
+ 2 /usr/lib/j2se/1.4/bin/java
3 /usr/bin/gij-4.2
4 /usr/bin/gij-4.1
* 5 /usr/lib/jvm/java-6-sun/jre/bin/java
la compilazione va a buon fine:
root@giuseppe-laptop:/home/giuseppe/projects/TemperatureConverter/client# javac *.java
ma non la sua esecuzione:
root@giuseppe-laptop:/home/giuseppe/projects/TemperatureConverter# java client.Client
Exception in thread “main” java.lang.NoClassDefFoundError: client/Client
in alternativa:
root@giuseppe-laptop:/home/giuseppe/projects/TemperatureConverter# java -cp . client.Client
Exception in thread “main” java.lang.NoClassDefFoundError: junit/framework/TestCase
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at client.Client.main(Client.java:7)
root@giuseppe-laptop:/home/giuseppe/projects/TemperatureConverter# sudo update-alternatives –config java
@giuseppe quando vuoi eseguire un programma che hai compilato devi dare
jollyr0ger | January 8, 2008 | 1:04 pm@giuseppe
quando vuoi eseguire un programma che hai compilato devi dare “java NomeClasse” e non “java NomeClasse.Class”. Assicurati che NomeClasse sia estattamente uguale al nome della classe dentro il tuo codice sorgente. Attenzione a maiuscole/minuscole.
Fammi sapere
Ciao,quando do il comando j
marco | April 24, 2008 | 3:36 pmCiao,quando do il comando
j javac HelloTugu.javajava HelloTugu
mi restituisce l’errore
error: Class names, ‘HelloTugu.javajava,HelloTugu’, are only accepted if annotation processing is explicitly requested
1 error
Ho Ubuntu 8.04 ed ho installato i pacchetti che suggerisci.Ho seguito pedissequamente i passaggi che hai indicato..Non conosco il java,questo era piu’ che altro un tentativo..Suggerimenti?
Ho risolto.C'è un errore nel tuo codice : non ci
marco | April 24, 2008 | 5:16 pmHo risolto.C’è un errore nel tuo codice : non ci vuole il punto e virgola finale dopo l’ultima graffa!!
Inoltre hai hai attaccato il java dell’estensione del file e il java del comando di esecuzione .Se dovete fare i tutorials fateli bene!!!
A me dice quando faccio compila: javac "TestMain.java" (nella cartella: /media/2
Alex | June 3, 2008 | 11:04 pmA me dice quando faccio compila:
javac “TestMain.java” (nella cartella: /media/2 TERABYTE/blabla…)
Compilazione fallita.
/bin/sh: javac: not found
se hai installato tutti i pacchetti descritti nell'articolo non dovrebbe
jollyr0ger | June 4, 2008 | 5:51 pmse hai installato tutti i pacchetti descritti nell’articolo non dovrebbe dare javac: not found; poi non ci vogliono le virgolette intorno al file da compilare
quindi solamente:
javac TestMain.java
Ciauz jollyr0ger, non so se te ne sarai accorto ma c'è
Gh1r0 | April 10, 2011 | 7:14 pmCiauz jollyr0ger,
non so se te ne sarai accorto ma c’è un errore di compilazione nel codice sorgente nel rigo 4, dopo la parentesi graffa non va inserito un punto e virgola
spero di non essere stato invadente.
Un caro saluto Gh1r0
Ciao, Gh1r0, non ti preoccupare ;) Sinceramente non ricordo molto di
jollyr0ger | April 10, 2011 | 7:46 pmCiao, Gh1r0, non ti preoccupare
Sinceramente non ricordo molto di questo codice, ormani l’ho scritto qualche anno fà…