Java コンパイルができない
Java学習中にコンパイルができず無駄に時間を浪費した経験からの備忘録。Eclipseを使用したコンパイルエラーの解決方法。
目次
目的
Javaを勉強中にコンパイルができず無駄に時間を浪費したので、備忘録として投稿します。
流れ
- 階層とやりたいことの確認
- 発生したエラー
- 解消法
階層構造
Eclipseを使用
tree /fにて階層を確認
C:\ocjp\workspace\CoffeeChoiceApp>tree /fC:.
│ .classpath
│ .project
│
├─.settings
│ org.eclipse.core.resources.prefs
│ org.eclipse.jdt.core.prefs
│
├─bin
│ └─main
│
└─src
└─main
BestCoffeeChoiceApp.java
CheckNumber.java
CoffeeTasteList.java
ConnectDatabase.java
ExecutingClass.javaやりたいこと
BestCoffeeChoiceApp.javaをコンパイルしたい
実際にやったこと
cmdからコンパイルをしようと下記の階層に移動し実行
C:\ocjp\workspace\CoffeeChoiceApp\src\main>javac BestCoffeeChoiceApp.javaエラー内容
コンパイルしようとすると以下のようなエラーが発生した
BestCoffeeChoiceApp.java:9: エラー: シンボルを見つけられません
ConnectDatabase cd = new ConnectDatabase();
^
シンボル: クラス ConnectDatabase
場所: クラス BestCoffeeChoiceApp
BestCoffeeChoiceApp.java:9: エラー: シンボルを見つけられません
ConnectDatabase cd = new ConnectDatabase();
^
シンボル: クラス ConnectDatabase
場所: クラス BestCoffeeChoiceApp
BestCoffeeChoiceApp.java:10: エラー: シンボルを見つけられません
CheckNumber cn = new CheckNumber();
^
シンボル: クラス CheckNumber
場所: クラス BestCoffeeChoiceApp
BestCoffeeChoiceApp.java:10: エラー: シンボルを見つけられません
CheckNumber cn = new CheckNumber();
^
シンボル: クラス CheckNumber
場所: クラス BestCoffeeChoiceApp
BestCoffeeChoiceApp.java:12: エラー: シンボルを見つけられません
ExecutingClass ec = new ExecutingClass();
^
シンボル: クラス ExecutingClass
場所: クラス BestCoffeeChoiceApp
BestCoffeeChoiceApp.java:12: エラー: シンボルを見つけられません
ExecutingClass ec = new ExecutingClass();
^
シンボル: クラス ExecutingClass
場所: クラス BestCoffeeChoiceApp
エラー6個エラー: シンボルを見つけられませんとはなんぞ?
調べてみた
上記のサイトを参考に原因をまとめた結果、以下の4点が主な原因だと判明した
- 変数やメソッド、クラスなどのスペルミス
- クラスを使用する際に必要なインポートがされていない
- private なのに外部クラスから参照したことによる不可視
- 外部ライブラリやビルドパスなどの誤り
ぼく「Eclipseで実行したときは普通に動くから、どれもありえなくない??」
解消法
上記のサイトを参考に解消した
srcをカレントディレクトリとして以下を実行する
javac main/BestCoffeeChoiceApp.java無事コンパイルが完了した