フォルダに3つのソースファイルがあります。コマンドラインを使用してコンパイルしてから実行したいだけです。しかし、私は次の問題を抱えています。私はウィンドウズボックスにいます:
コードは正常にコンパイルされます。
C:\mycode\src\code>javac Source1.java Source2.java Source3.java
クラスファイルがあるフォルダからは実行されません:
C:\mycode\src\deckofcards>java Source1
Exception in thread "main" java.lang.NoClassDefFoundError: Source1 (wrong name: code/Source1)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: Source1. Program will exit.
ただし、親フォルダーに移動すると実行されます。
C:\mycode\src\code>cd ..
C:\mycode\src>java code/Source1
Hello1
Hello2
Hello3...
......
....
このソースを誰かに配布したいのですが、それらがWindowsにあるのかUNIXボックスにあるのかわかりません。
最終的には実行可能なjarファイルを作成したいのですが、それでもこのようなエラーが発生していました。