Wie kann ich kompilieren von Klassen in Paketen, führen Sie Sie später mit "java-Programm" (ohne den Namen des Pakets)?

Ich habe eine kurze Frage bezüglich javac und Pakete in Java.

Habe ich ein einfaches Programm (wir nennen es Program.java), die derzeit in das folgende Verzeichnis:

  • myRepository/myProgram

In Program.java und andere .java-Dateien in die myRepository/myProgram-Verzeichnis, ich habe erklärt package myProgram.* und beinhaltete auch import myProgram.*;.

Also wenn ich javac myProgram/Program.java wird, kompiliert er fein und es läuft gut, wenn ich Typ java myProgram/Program.

Jedoch, ich versuche zu bekommen .die class-Dateien erzeugt werden, die myRepository Verzeichnis, nicht myRepository/myProgram, die ist, wo die source-Dateien sind. Ich habe versucht javac myProgram/Program.java -d .. liefert .die class-Dateien in myRepository Verzeichnis, aber wenn ich versuche, "java-Programm", es gibt mir die folgende Fehlermeldung:

Exception in thread "main" java.lang.NoClassDefFoundError: Programm (wrong name: myProgram/Programm).

Gibt es eine Möglichkeit, Möglichkeit, die ich bekommen konnte .die class-Dateien zu zeigen, bis in das Haupt-Verzeichnis (myRepository) statt, wo die source-codes (myRepository/myProgram) und ausführen zu können java Program während im inneren myRepository?

InformationsquelleAutor FlamesPuck12 | 2011-02-06

Schreibe einen Kommentar