Iniziare a programmare in Java su Ubuntu

8 12 2007

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.

hellotugujava_gedit.png

Il blog si è trasferito su www.blog.tugulab.org

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

hellotugujava_geany_s.png

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…

Il blog si è trasferito su www.blog.tugulab.org

Buon divertimento!

»Link utili

Annunci

Azioni

Information

12 responses

11 12 2007
Murphy

Posso 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 java
e tra le opzioni listate scegliere quella ufficiale
ciao

11 12 2007
jollyr0ger

Grazie Murphy per il tuo appunto! Sicuramente tornerà utile 😀

11 12 2007
Murphy

utilissimo ma inesatto; nella fretta di scrivere ho cassato mezzo comando.
quello giusto è

sudo update-alternatives --config java
con 2 trattini prima di config (lo dico perchè wordpress spesso se li mangia)
ciao

11 12 2007
jollyr0ger

guarda 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?

11 12 2007
Murphy

Non 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

7 01 2008
Giuseppe Specchio

Questa è 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

8 01 2008
jollyr0ger

@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

24 04 2008
marco

Ciao,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?

24 04 2008
marco

Ho 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!!! 🙂

3 06 2008
Alex

A me dice quando faccio compila:
javac “TestMain.java” (nella cartella: /media/2 TERABYTE/blabla…)
Compilazione fallita.
/bin/sh: javac: not found

4 06 2008
jollyr0ger

se 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

8 10 2011
Aspirante programmatore java...

Grazie jollyr0ger! Leggendo i tuoi commenti ho risolto dei problemi.




%d blogger hanno fatto clic su Mi Piace per questo: