Probleme beim Compilen

shitake83

Mitglied
Hi Leute,

ich habe ein ziemlich elementares Problem.

Beim Versuch meinen Code zu compilen bin ich auf folgenden Fehler gestossen.

D:\workspac> javac DbConnect.class
javac: invalid flag: DbConnect.class
Usage: javac <options> <source files>
use -help for a list of possible options


bis jetzt habe ich ehrlich gesagt noch nie irgendwelche flags eingegeben beim compilen und es hat immer geklappt. Was habe ich nicht beachtet oder vergessen.
Entschuldigt wenn das ne ziemliche Anfängerfrage ist.

Thx.

P.S.: Alle Paths etc. sind gesetzt.
 
Uiuiui stimmt Leute. Danke.

Ich habs natürlich nochmal mit java DbConnect versucht. Herausgekommen ist folgendes.

D:\workspace>java DbConnect
Exception in thread "main" java.lang.NoClassDefFoundError: DbConnect (wrong name
: de/bitmarck/bi/DbConnect)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: DbConnect. Program will exit.


Main existiert und wenn ich es aus Eclipse starte funktioniert es einwandfrei.
Ich möchte das Programm später als Konsolenprogramm nutzen damit man nicht immer Eclipse öffnen muss um das Programm zu starten und das versuche ich halt grad rauszufinden.

Was könnte der fehler sein ?? Thx.
 
Danke für die fixe Antwort.

Ööhhm vielleicht klingt das jetzt ein bisschen blöd, aber was meinst du mit "ins root package wechseln" genau ?!

Thx.
 
wenn du dich in D:\workspace befindest, dann gibts wirklich nicht viel, wohin zu wechseln ist,
andersrum also: die Klasse muss passend zu ihrem package in einem Unterverzeichnis liegen, hier etwa
D:\workspace\de\bitmarck\bi\

der java-Aufruf dann immer noch vom 'root' D:\workspace aus, nicht von D:\workspace\de\bitmarck\bi\

der Compiler ist anscheinend bisschen robuster, zumindest bei nur einer Datei, wenn andere auch in packages benötigt werden,
kann vielleicht auch der Compiler streiken, falls die Unterverzeichnisse nicht dazu passen
 
Hehe ok, dann habe ich es doch richtig verstanden. Lieber zweimal fragen anstatt Dumm zu sterben 🙂.
Ich bin jetzt im Büro und werde mal versuchen es zu testen. Danke.
 

Zurück
Oben