2016-03-21 12 views
0

Ich bin neu in Java und ich erhalte diese Störung für meinen Code:ClassNotFoundException Fehler irgendwelche Ideen?

C:\Users\Unknown\Desktop\AIB>java GreenhouseControls -f examples1.txt 
Restarting system 
java.lang.ClassNotFoundException: ThermostatNight 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:200) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:252) 
     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Class.java:164) 
     at GreenhouseControls$Restart.action(GreenhouseControls.java:139) 
     at tme3.Controller.run(Controller.java:32) 
     at GreenhouseControls.main(GreenhouseControls.java:197) 

Ich glaube, ich habe einen Classpath Fehler.

+1

Zeigen Sie uns die Struktur und Pakete Ihrer Klassen. –

+2

Versuchen Sie einen vollen Namen mit Paketname –

+0

Da gehen Sie Jungs Ich habe mehr Informationen hinzugefügt. Gregory Thermostatnight ist in der gleichen Datei –

Antwort

0

Haben Sie versucht, kompilierten Java-Dateien hinzuzufügen (dh Event.class, ThermostatNight.class, ...) von Event.java, ThermostatNight.java zu dem Classpath:

java -cp "target/*" GreenhouseControls -f examples1.txt 

Ich gehe davon aus, dass Ihre kompilierten Klassendateien befinden sich im Zielverzeichnis.

+0

C: \ Benutzer \ Ali \ Desktop \ TME3> java -cp "C: /Users/Ali/Desktop/TME3/tme3/Events.class" GreenhouseControls -f examples1.txt Ausnahme im Thread "Main" Java. lang.NoClassDefFoundError: GreenhouseControls –

+0

Sie müssen alle .class-Dateien zu Ihrem Klassenpfad hinzufügen. Normalerweise kompiliert Ihre IDE Ihre Klassen für Sie, wenn Sie sie nicht mit 'javac' kompilieren müssen. Sie sollten alle Ihre .class-Dateien in einem Ordner ablegen und Sie können alle Dateien mit der genannten Syntax zum Klassenpfad hinzufügen (siehe zB http://stackoverflow.com/questions/219585/setting-multiple-jars-in-java -classpath) – Philipp

+0

ThermostatNight ist nicht in einem anderen Paket, es existiert in einer Datei. Nur Events.java ist in einer anderen Datei –

0

Ich löste auf diese Weise.

java -classpath YourProjectWar.jar com.yourpackage.ClassWithMain -f examples1.txt 
Verwandte Themen