Hallo Zusammen, ich bin Linux einsteiger und lerne seit ca. einem halben Jahr selbst Java. Nun bin ich auf Linux umgestiegen und krieg die Parametereingabe im Terminal nicht hin. Mein Quellcode lautet
Code:
public class Test1 {
public static void main(String[] args) {
String a = args[0];
String b = args[1];
System.out.println( a + b);
}
}
kompiliert ist die Klasse auch schon. Wenn ich nun im Terminal folgendes Eingebe:
"java Test1 Hallo Welt"
bekomme ich eine ewig lange fehler liste raus. Hab schon überall gesucht aber man findet nur tipps zum basiseinstieg wie zb. gib "System.out.println("Hallo Welt") aus.
Exception in thread "main" java.lang.NoClassDefFoundError: Test1 (wrong name: kapitel_12/Test1)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
@Machareder ja sollte zu übungszwecken sein ich bin im grunde auch schon um einiges weiter als hallowelt. Nur will ich wissen wie man korrekt Parameter in die main Methode einer klasse übergibt, und das über die Eingabeaufforderung(in diesem Fall eben Terminal von Linux)
Probier mal:
java kapitel_12/Test1 Hello World
Ach ja du musst dich in dem ordner vor kapitel_12 befinden, also:
Ordnerstruktur:
JavaLernen/kapitel12/Test1.class
musst du in dem Ordner JavaLernen sein
Hallo nochmals, danke es hat geholfen die richtige lösung war das ich in einen überordner gehen musste um die klasse ausführen zu können(warum auch immer)
ja es war in dem src pacage drin ist immer noch so und funktioniert auch. Ich arbeite eigentlich mit Eclipse aber solche sachen sollte ich natürlich zu beherschen lernen.