以前まで正常に動いていたjavaのソースコードがコンパイルできなかったとき
前に写経して正常に動いたはずのjavaソースコードを再コンパイルしようとしたらコンパイルエラーが出た
Sample/Main.java:5: エラー: シンボルを見つけられません
BookShelf bookShelf = new BookShelf(4);
^
シンボル: クラス BookShelf
こんな感じのエラーが9個も出た。
コマンド間違えたかなといろいろ試してみたけど結果はjavacコマンドを実行するカレントディレクトリの模様
javacコマンドはコンパイルするファイルがあるディレクトリで実行する
今回で言うとIteratorディレクトリ内のMain.javaをコンパイルするのに
javac -d ../class Iterator/Main.java
ではNGで
javac -d ../../class Main.java
とするとコンパイルが通った
ちなみに上記のコマンドを実行すると
Main.java:3: エラー: Mainの書込み中にエラーが発生しました: ../class/Main.class (Permission denied)
public class Main {
^
エラー1個
とうエラーが出る
原因がsudoコマンドがないからjavacでコンパイルするときは必ずsudoコマンドを使うこと