PDA

View Full Version : Java+Linux


mariade
24-05-2007, 16:35
Ciao ragazzi,

poiche' ora utilizzo Ubuntu 7.04 vorrei sapere qualche link utile per imparare a programmare in linux. Quello che vorrei capire in particolar modo e' come settare il classpath per poi iniziare. Ho googlolato un po' ma non ci capisco tanto.
Nel frattempo vi posto l'errore che mi da' nel terminale quando provo a compilare un file java:

peppino@mariello:~/Desktop/java$ javac Test.java
The program 'javac' can be found in the following packages:
* jikes-sun
* jikes-sablevm
* kaffe
* sun-java6-jdk
* jikes-kaffe
* java-gcj-compat-dev
* j2sdk1.4
* jikes-classpath
* jikes-gij
* ecj
* sun-java5-jdk
* gcj-4.1
Try: sudo apt-get install <selected package>
bash: javac: command not found


Java e' installato correttamente alla versione 6,il JDK, JDR e BIn.
Qualche consiglio?

W.S.
24-05-2007, 16:41
sicuro di aver installato jdk (o simili)?

prova con "sudo apt-get install sun-java5-jdk"

mariade
24-05-2007, 17:17
Si ho installato il sun-java6-jdk da synaptic, ma devo installare anche il 5?

k0nt3
24-05-2007, 17:42
Si ho installato il sun-java6-jdk da synaptic, ma devo installare anche il 5?
cosa dice se dai il comando "java -version" ?

mariade
24-05-2007, 18:00
cosa dice se dai il comando "java -version" ?

Dice questo:

peppino@mariello:~$ java -version
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0-b105, mixed mode)
peppino@mariello:~$

k0nt3
24-05-2007, 18:11
Dice questo:

peppino@mariello:~$ java -version
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0-b105, mixed mode)
peppino@mariello:~$

quindi tu in /usr/lib/jvm/java-6-sun/bin hai un file che si chiama javac giusto?
se è così forse ti manca solo un link.. dovresti fare tipo un "sudo ln -s /usr/lib/jvm/java-6-sun/bin/javac /usr/bin/"

mariade
27-05-2007, 13:06
quindi tu in /usr/lib/jvm/java-6-sun/bin hai un file che si chiama javac giusto?
se è così forse ti manca solo un link.. dovresti fare tipo un "sudo ln -s /usr/lib/jvm/java-6-sun/bin/javac /usr/bin/"

Grazie mille. ho risolto. Scusa per il ritardo della risposta, ma sono stat impegnata. Cmq volevo capire cosa fa quel comando. Avresti qualche guida linux+java da consigliarmi?

k0nt3
27-05-2007, 15:21
Grazie mille. ho risolto. Scusa per il ritardo della risposta, ma sono stat impegnata. Cmq volevo capire cosa fa quel comando. Avresti qualche guida linux+java da consigliarmi?
ln -s /usr/lib/jvm/java-6-sun/bin/javac /usr/bin/ non fa altro che creare un link simbolico dell'eseguibile javac nella cartella /usr/bin (in questo modo lo puoi lanciare senza specificare il percorso completo).
l'opzione -s serve perchè altrimenti si crea un hard link.. in genere si usano i link simbolici perchè gli hard link sono meno elastici e in qualche caso possono dare problemi, se vuoi approfondire la differenza tra i due tipi di link ci sono le voci in inglese su wikipedia che ne parlano abbastanza bene http://en.wikipedia.org/wiki/Hard_link e http://en.wikipedia.org/wiki/Symbolic_link

per la seconda domanda invece non penso ci sia bisogno di una guida specifica per linux. java è per sua natura multipiattaforma e quindi il suo funzionamento è identico ovunque ti trovi.
di materiale gratuito ce ne dovrebbe essere un pò in rete.. potresti dare un'occhiata "Thinking in Java, 3rd Edition" (http://mindview.net/Books/DownloadSites/) che purtroppo di basa ancora su java 1.4, ma è comunque un libro molto completo e soprattutto gratis (le novità introdotte con java5 le puoi anche ignorare inizialmente).
ti consiglio anche di dare un'occhiata alle API specification che trovi sul sito di sun http://java.sun.com/javase/6/docs/api/
sono molto utili per capire esattamente a cosa serve una classe o un metodo che non sai bene come funziona, ma questo è da sbirciare solo al momento del bisogno perchè sennò ti perdi!
indipendentemente da questo ti consiglio di utilizzare un semplice editor di testo per i primi programmi che fai, ad esempio kate è perfetto su kde, ma gedit dovrebbe svolgere lo stesso compito su gnome.

buona fortuna :fagiano:

mariade
27-05-2007, 18:02
ln -s /usr/lib/jvm/java-6-sun/bin/javac /usr/bin/ non fa altro che creare un link simbolico dell'eseguibile javac nella cartella /usr/bin (in questo modo lo puoi lanciare senza specificare il percorso completo).
l'opzione -s serve perchè altrimenti si crea un hard link.. in genere si usano i link simbolici perchè gli hard link sono meno elastici e in qualche caso possono dare problemi, se vuoi approfondire la differenza tra i due tipi di link ci sono le voci in inglese su wikipedia che ne parlano abbastanza bene http://en.wikipedia.org/wiki/Hard_link e http://en.wikipedia.org/wiki/Symbolic_link

per la seconda domanda invece non penso ci sia bisogno di una guida specifica per linux. java è per sua natura multipiattaforma e quindi il suo funzionamento è identico ovunque ti trovi.
di materiale gratuito ce ne dovrebbe essere un pò in rete.. potresti dare un'occhiata "Thinking in Java, 3rd Edition" (http://mindview.net/Books/DownloadSites/) che purtroppo di basa ancora su java 1.4, ma è comunque un libro molto completo e soprattutto gratis (le novità introdotte con java5 le puoi anche ignorare inizialmente).
ti consiglio anche di dare un'occhiata alle API specification che trovi sul sito di sun http://java.sun.com/javase/6/docs/api/
sono molto utili per capire esattamente a cosa serve una classe o un metodo che non sai bene come funziona, ma questo è da sbirciare solo al momento del bisogno perchè sennò ti perdi!
indipendentemente da questo ti consiglio di utilizzare un semplice editor di testo per i primi programmi che fai, ad esempio kate è perfetto su kde, ma gedit dovrebbe svolgere lo stesso compito su gnome.

buona fortuna :fagiano:

Grazie tante k0nt3, ora guardo ai link che mi hai postato.

AnonimoVeneziano
27-05-2007, 20:38
Prova con "sudo update-alternatives --config javac" e imposta il bin relativo alla JDK6

Ciao

k0nt3
28-05-2007, 00:22
Prova con "sudo update-alternatives --config javac" e imposta il bin relativo alla JDK6

Ciao
ah ecco come si fa a usare ste alternatives! :fagiano: