it-swarm.com.de

Wie führe ich ein NetBeans-Projekt in der Eingabeaufforderung aus?

Mein Professor hat uns gebeten, ein Java-Programm zu erstellen, das in der Eingabeaufforderung ausgeführt werden kann, aber auch mit NetBeans geöffnet werden kann.

Das Programm befasst sich mit den verschiedenen Arten der Sortierung (insbesondere Auswahl, Einfügung, Austausch, Schnell- und Haldensortierung). Unsere Professorin hat uns ausdrücklich angewiesen, die objektorientierte Programmierung in Java zu verwenden. Sie möchte eine Hauptklasse und die verschiedenen Klassen sehen, die die Sortierung durchführen.

Ich habe versucht, das Programm in NetBeans zu schreiben - dachte, dass ich das Programm später einfach in cmd mit Javac ausführen könnte.

In cmd habe ich den Pfad eingegeben, in dem mein NetBeans-Projekt gespeichert wurde, und ich habe versucht, die Dateien mit Javac zu kompilieren. Es heißt jedoch, dass "'javac' nicht als interner oder externer Befehl, ausführbares Programm oder Batch-Datei erkannt wird."

Also habe ich versucht, die Dateien in Sun> sdk> jdk> bin zu speichern, und von dort aus habe ich versucht, die Dateien zu kompilieren, und es war in Ordnung. Das Problem tritt auf, als ich versuchte, sie auszuführen.

So habe ich versucht, die Dateien zu kompilieren:

javac Main.Java
      Sortchoice.Java
      Selection.Java
      SelectionSort.Java
      Insertion.Java
      InsertionSort.Java
      Exchange.Java
      ExchangeSort.Java

(Ich habe die Syntax für die nächsten beiden Sortierungen noch nicht abgeschlossen.)

So habe ich versucht, die Dateien in cmd auszuführen:

Java Main Sortchoice Selection SelectionSort Insertion InsertionSort Exchange ExchangeSort

und cmd sagt:

exception in thread "main" Java.lang.NoClassDefFoundError: main (wring name: myjava/Main)
at Java.lang.ClassLoader.defineClass1(Nativ... Method)"
at Java.lang.ClassLoader.defineClass(ClassL...
at Java.security.SecureClassLoader.defineCl...
at Java.net.URLClassLoader.defineClass(URLC...
at Java.net.URLClassLoader.access$000(URLCl...
at Java.net.URLClassLoader$1.run(URLClassLo...
at Java.security.AccessController.doPrivile... Method)
at Java.net.URLClassLoader.findClass(URLCla...
at Java.lang.ClassLoader.loadClass(ClassLoa...
at Sun.misc.Launcher&AppClassLoader.loadCla...
at Java.lang.ClasLoader.loadClass(ClassLoad...
at Java.lang.ClassLoader.loadClassInternal(...

Was soll ich machen? (Entschuldigen Sie meine kilometerlange Erklärung. Ich wollte nur so viele Details wie möglich einfügen.)

Ich möchte auch betonen, dass ich nur ein Anfänger in der Java-Programmierung bin.

14
charisse

Wenn Sie in NetBeans auf build klicken, sollte (in Ihrer Compiler-Ausgabe) die folgende Meldung angezeigt werden: "Wenn Sie diese Anwendung ohne Ant von der Befehlszeile ausführen möchten, versuchen Sie Folgendes: Java -jar yourPathToRun"

22
Cricket

Am besten geht es so:

1) Erstellen Sie ein Verzeichnis mit src\ und tests\ (die Tests sind optional, wenn Sie JUnit nicht verwenden).

2) Vorausgesetzt, Sie haben package myjava; oben in Ihren Dateien (und stellen Sie sicher, dass dies Ihr Profi ist. Es wird zum Schmerz, Dinge zu markieren, wenn sie nicht an der richtigen Stelle sind.) Erstellen Sie ein src\myjava-Verzeichnis (und wenn Sie es sind) JUnit ein tests\myjava-Verzeichnis ausführen).

3) Kopieren Sie Ihre Dateien in das Verzeichnis src\myjava

4) Löschen Sie Ihr NetBeans-Projekt und erstellen Sie es mit den vorhandenen Quellen neu. Wenn Sie die Verzeichnisse src (und optional test) einrichten, fügen Sie das Verzeichnis src\ (und optional das tests\) hinzu. Fügen Sie das src\myjava-Verzeichnis NICHT hinzu, oder es funktioniert nicht in NetBeans.

5) Erstellen Sie ein Verzeichnis mit dem Namen classes\ (so haben Sie src\, classes\ und möglicherweise \tests alle an derselben Stelle)

6) Geben Sie in der Befehlszeile javac -d classes -cp classes src/myjava/*.Java ein.

  • -d teilt dem Compiler mit, wo die .class-Dateien abgelegt werden sollen
  • -cp teilt dem Compiler mit, wo nach Klassendateien gesucht werden soll
  • src/myjava/*.Java weist sie an, alle .Java-Dateien in src/myjava zu kompilieren.

7) starte es über Java -cp classes myjava.Main

  • -cp classes fordert sie auf, im Klassenverzeichnis nach den .class-Dateien zu suchen
  • myjava.Main ist der Name der Klasse, die ausgeführt werden soll
12
TofuBeer
  1. Es ist besser, javac zu Ihrer Umgebungsvariablen PATH hinzuzufügen, anstatt die .Java-Dateien in dasselbe Verzeichnis zu legen. Dort wird es schrecklich voll.
  2. Um zu laufen, brauchst du nur

    Java Main

    anstatt jede Klasse auf die Befehlszeile zu setzen.

  3. Haben Sie ein Paket in Ihren .Java-Dateien deklariert? Mögen,

    paket Myjava;

    ? Wenn ja, muss die Befehlszeichenfolge sein

    Java myjava.Main

Beantwortet das Ihre Fragen?

6
Michael Myers

Klicken Sie mit der rechten Maustaste auf Arbeitsplatz> Eigenschaften> Erweitert> Umgebungsvariablen ... Fügen Sie der Pfadvariablen Das Verzeichnis bin in jdk hinzu. Beispiel: Variablenname: Pfad Variablenwert: C:\Programme\Java\jdk1.6.0_16\bin

Java und Javac sollten nun von jedem Verzeichnis in der Eingabeaufforderung aus funktionieren

1
Busta

Führen Sie die folgenden Schritte aus (Codebeispiele sind nur Beispiele, Sie müssen einige für Ihr Setup anpassen):

  1. Setzen Sie Java_HOME auf das Verzeichnis, in dem das JDK installiert ist.

    set Java_HOME = "c:\Programme\Java\jre1.6.0_12"

  2. Stellen Sie Ihren PATH so ein, dass er das Verzeichnis bin in Java_HOME enthält.

    set PATH =% PATH%:% Java_HOME%\bin

  3. Wechseln Sie in das Stammverzeichnis Ihres Quellcodes. Wenn Sie Ihren Code für Pakete festgelegt haben, ist dies das Stammverzeichnis Ihrer Paketstruktur. Wenn nicht, ist dies das Verzeichnis, das Ihre .Java-Dateien enthält:

    cd c:\Mein\Quelle\Verzeichnis

  4. Führen Sie javac mit Ihren Java-Dateien als Argument aus:

    javac Class1.Java Class2.Java

  5. (Vorausgesetzt, alles wird korrekt kompiliert.) Führen Sie Java mit dem Namen der Klasse aus, die Ihre Hauptmethode als Argument enthält. Wenn Sie Paketdeklarationen enthalten, ist Ihr Klassenname vollständig qualifiziert. Das bedeutet, dass er den Paketnamen vor dem Klassennamen mit einschließen soll Ein '.' trennt den Paketnamen vom Klassennamen):

    Java Main

0
Jared

Erstellen Sie irgendwo einen Ordner, sagen Sie C:\myjava. Kopieren Sie Ihre .Java-Quelldateien von überall dort, wo sie von netbeans in Ihrem C:\Java gespeichert werden. Öffnen Sie jede dieser .Java-Dateien, die Sie gerade eingefügt haben, und löschen Sie die Zeile, in der das Paket angegeben ist, z. B. package myjava. Kompilieren mit javac z. javac c:\myjava\MyJava.Java. Führen Sie es dann wie in Java c:\myjava\MyJava aus.

0
Omar

Am einfachsten ist es, die .jar-Datei im dist-Ordner im Hauptordner Ihres Projekts auszuführen. Vergewissern Sie sich, dass der Pfad zum Ordner jdk bin in System, Environmental Variables des Computers so eingestellt ist, dass er die üblichen Werte ermittelt: jar.exe, Java.exe, javac.exe usw. (weitere Informationen in diesem Thread finden Sie in diesem Thread).

1) Führen Sie in Netbeans einen sauberen Build durch, drücken Sie F11 oder klicken Sie auf das Menü Run und klicken Sie auf Build Project. Klicken Sie sich durch, um an allen Eingabeaufforderungen vorbeizukommen. Sie benötigen dazu einen sauberen Build.

2) Navigieren Sie in der Eingabeaufforderung zum Ordner dist Ihres Projekts

3) Geben Sie in der Befehlszeile Folgendes ein und führen Sie Folgendes aus: Java -jar yourMainFile.jar

Keine separaten Ordner erstellen, keine Dateien kopieren, keine mehreren Dateien in das Befehlszeilenargument aufnehmen. Sie müssen Ihr Projekt jedoch jedes Mal neu erstellen, wenn Sie Ihren Code ändern, bevor Sie es in der Befehlszeile ausführen.

0
Michael Swartz