PDA

View Full Version : [JAVA 6] compiling on terminal NetBeans project


MrOrange
21-04-2010, 14:52
hey
sto iniziando con java e dopo aver installato la jdk6 ho provato il classico HelloWord in un file hello.java:
public class hello{
public static void main(String[] args){
System.out.println("hello");
}
}

ho compilato con javac (OK) e cercato di lanciarlo con java da terminale. la risposta è stata:
Exception in thread "main" java.lang.NoSuchMethodError: main

ho installato NetBeans, ho riscritto il codice e, sorpresa, compila e runna mostrandomi nella sua shell la stampa: hello
allora sono andato da terminale nella /build/classes/hello/ del progetto ed ho cercato di lanciare il file compilato con
java Main
non trova il file e da mille errori
allora vado nella src/hello/ del progetto e cerco di compilare e lanciare
javac Main.java
compila senza errori
java Main
mi da gli stessi errori di prima

c'è qualcosa che ho dimenticato... mi aiutereste a capire cosa?

grazie

MrOrange
21-04-2010, 16:09
ho appena probato a reinstallare e settare il classpath
# apt-get install sun-java6-jdk
# export JAVA_HOME=/usr/lib/jvm/java-6-sun

il path corrisponde a dove è messa la jdk (sto lavorando su UBUNTU9.10)
$ echo $JAVA_HOME
/usr/lib/jvm/java-6-sun

banryu79
21-04-2010, 16:12
Se la classe si chiama "hello", allora il file sorgente deve chiamarsi hello.java e verrà compilato in hello.class.
Quindi devi lanciare java hello.

P.S.: non è obbligatorio ma la convenzione comune, in Java, vorrebbe che il nome delle classi iniziasse sempre con la lettera maiuscola.

MrOrange
23-04-2010, 17:33
ho aggiunto

JAVA_HOME=/usr/lib/jvm/java-6

in /etc/bash.bashrc