ポートフォリオサイトのロゴ
Icon for Java コンパイルができない

Java コンパイルができない

Java学習中にコンパイルができず無駄に時間を浪費した経験からの備忘録。Eclipseを使用したコンパイルエラーの解決方法。

目的

Javaを勉強中にコンパイルができず無駄に時間を浪費したので、備忘録として投稿します。

流れ

  • 階層とやりたいことの確認
  • 発生したエラー
  • 解消法

階層構造

Eclipseを使用

tree /fにて階層を確認

C:\ocjp\workspace\CoffeeChoiceApp>tree /f
C:.
│  .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個

エラー: シンボルを見つけられませんとはなんぞ?

調べてみた

Java「でシンボルが見つかりません」のエラー原因と対処方法を徹底解説

Javaでエラー: シンボルを見つけられませんというエラーが発生したがどうすればこのエラーを解決できるか知りたい

上記のサイトを参考に原因をまとめた結果、以下の4点が主な原因だと判明した

  • 変数やメソッド、クラスなどのスペルミス
  • クラスを使用する際に必要なインポートがされていない
  • private なのに外部クラスから参照したことによる不可視
  • 外部ライブラリやビルドパスなどの誤り

ぼく「Eclipseで実行したときは普通に動くから、どれもありえなくない??」

解消法

Java コンパイルに失敗する シンボルを見つけられません

上記のサイトを参考に解消した

srcをカレントディレクトリとして以下を実行する

javac main/BestCoffeeChoiceApp.java

無事コンパイルが完了した