2016-06-04 13 views
2

Ich versuche, ein Programm in Java geschrieben mit der Eingabeaufforderung auf meinem Mac, aber nach dem Kompilieren von mir pop-up Nachricht: Fehler: Hauptklasse TEST konnte nicht gefunden oder geladen werden.java - MAC - Fehler: Konnte Hauptklasse (Name der Klasse) nicht finden oder laden

Vielleicht mache ich dummen Fehler.

Dies ist Code von Java-Programm (Ich benutze NetBeans):

/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package test; 

/** 
* 
* @author Kuba 
*/ 
public class TEST { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     System.out.println(“Hello”); 
    } 

} 

Dieses von meiner Befehlszeile ist:

>  Last login: Sat Jun 4 18:35:23 on ttys000 
>  Jakub-MacBook-Pro:~ Kuba$ ls 
>  Applications  Library   Pictures 
>  Desktop   Movies   Public 
>  Documents  Music   VirtualBox VMs 
>  Downloads  NetBeansProjects 
>  Jakub-MacBook-Pro:~ Kuba$ cd NetBeansProjects/ 
>  Jakub-MacBook-Pro:NetBeansProjects Kuba$ ls 
>  JavaApplication1 TEST 
>  Mocnina   VypocetObvoduaObsahu 
>  Jakub-MacBook-Pro:NetBeansProjects Kuba$ cd TEST 
>  Jakub-MacBook-Pro:TEST Kuba$ ls 
>  build  build.xml manifest.mf nbproject src 
>  Jakub-MacBook-Pro:TEST Kuba$ cd src 
>  Jakub-MacBook-Pro:src Kuba$ ls 
>  test 
>  Jakub-MacBook-Pro:src Kuba$ cd test 
>  Jakub-MacBook-Pro:test Kuba$ ls 
>  TEST.class TEST.java 
>  Jakub-MacBook-Pro:test Kuba$ javac TEST.java 
>  Jakub-MacBook-Pro:test Kuba$ java TEST 
>  Error: Could not find or load main class TEST 
>  Jakub-MacBook-Pro:test Kuba$ 

Danke für jeden Rat. JS

+0

Wenn Sie NetBeans verwenden, warum versuchen Sie, die Klasse mit der Befehlszeile zu kompilieren? NetBeans verfügt am oberen Fensterrand über eine Option zum Kompilieren (Erstellen) und Ausführen. –

Antwort

1

Jakub-MacBook-Pro:test Kuba$

Wenn Sie ein Paket in der Datei definiert haben, als Sie java Befehl außerhalb des Paketordner laufen haben und die Klasse mit Paketnamen nennen.

Dies sollte den Trick tun.

cd ../ 
java test.TEST 

Suche nach classpath. This ist auch ein gutes Buch.

+0

Es funktioniert gut, aber warum kann ich nicht im TEST-Ordner laufen? –

+0

Sie können, aber Sie müssen Klassenpfad trotzdem festlegen. Dies sollte zum Beispiel im 'test'-Ordner' java -cp ".." test.TEST' funktionieren. Bitte lesen Sie einige Handbücher darüber. Dies sind die Grundlagen von Java. Ich hoffe es hilft. –

0

Versuchen Sie reinstalling your JDK. Manchmal, wenn dies passiert, kann Ihr JDK nicht gefunden werden. Stellen Sie sicher, dass es im selben Ordner wie die IDE sucht er in.

+0

I Neuinstallation von JDK aber gleichen Fehler. Ich weiß nicht, was Sie damit meinen - "vergewissern Sie sich, dass es sich in demselben Ordner befindet, in dem Ihre IDE es findet" - Sie meinen, dass sich die Datei TEST.java im IDE-Ordner befinden muss? –

+0

Es hat nichts mit JDK zu tun. –

0

Versuchen Sie Folgendes: java -cp. TEST für den Ordner, in dem sich die Klasse befindet. -cp bedeutet Klassenpfad. Sie können der Umgebungsvariablen CLASSPATH auch den Ordner hinzufügen, in dem sich TEST befindet, und wie folgt java TEST ausführen. Grundsätzlich ist das Problem, dass Java TEST-Klasse nicht finden kann

+0

TEST.class befindet sich im Ordner 'test /'. Wenn Sie den 'java -cp ausführen. TEST 'Befehl in diesem Ordner, wird der gleiche Fehler' Fehler: Hauptklasse TEST nicht finden oder laden 'angezeigt. Deine Antwort ist falsch. –

+0

Ok. Versuchen Sie Folgendes: CLASSPATH = $ CLASSPATH:/test, nach dem Export $ CLASSPATH und schließlich Java TEST –

+0

Warum würden Sie das tun? Sie können die Java-App über die Befehlszeile ausführen, ohne CLASSPATH zu ändern. –

Verwandte Themen