2016-03-21 27 views
0

私は、Javaに新しいですし、私は自分のコードのために、このエラーが出る:ClassNotFoundExceptionエラーが発生しましたか?

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) 

私はクラスパスのエラーを持っていると信じています。

+1

あなたのクラスの構造とパッケージを見せてください。 –

+2

パッケージ名 –

+0

でフルネームを入力してください。 Gregory Thermostatnightは同じファイルにあります –

答えて

0

あなたがクラスパスにEvent.java、ThermostatNight.javaの(すなわち、Event.class、ThermostatNight.class、...)あなたのコンパイルされたJavaファイルを追加しようとしました:

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

私は仮定コンパイルされたクラスファイルはターゲットディレクトリにあります。

+0

C:\ Users \ Ali \ Desktop \ TME3> java -cp "C:/Users/Ali/Desktop/TME3/tme3/Events.class" GreenhouseControls -f examples1.txt スレッド "main" javaの例外。 lang.NoClassDefFoundError:GreenhouseControls –

+0

すべての.classファイルをクラスパスに追加する必要があります。通常、あなたのIDEは 'javac'を使ってコンパイルする必要がなければ、あなたのクラスをコンパイルします。すべての.classファイルをフォルダに配置し、すべてのファイルを前述の構文でクラスパスに追加する必要があります(例:http://stackoverflow.com/questions/219585/setting-multiple-jars-in-java -classpath) – Philipp

+0

ThermostatNightは異なるパッケージにはありません。一つのファイルに存在します。 Events.javaだけが別のファイルにあります –

0

このように解決しました。

java -classpath YourProjectWar.jar com.yourpackage.ClassWithMain -f examples1.txt 
関連する問題