メインコンテンツへスキップ
ブログサイトのロゴsui Tech Blog
1分で読めます

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

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

関連記事

ClaudeCodeOpenTelemetryCloudflare

Claude Code で「さっきの続きやって」が一番高いのか確かめた

Claude Code の利用状況を Cloudflare D1 にためています。3 か月半ぶんのデータで、「1 時間以上あけて同じセッションに戻る最初の入力が一番高い」が自分の環境でも成り立つのかを確かめました。

記事を読む
CloudflareWorkersBunCI

Cloudflare Workers Builds のビルド変数は、ダッシュボードから設定しても非本番ブランチには入らない

Bun 1.4 で bun.lock の形式が 2 に上がり、Cloudflare Workers Builds の非本番ブランチのビルドだけが止まりました。ビルド環境の Bun が古いことが原因でしたが、ダッシュボードで BUN_VERSION を設定しても直りません。ビルド設定が本番とプレビューの 2 つのトリガーに分かれて保存されている仕組みと、REST API での修正手順を紹介します。

記事を読む
CloudflareWorkersTypeScriptJavaScript

Cloudflare Workers で fetcher = fetch と書くと Illegal invocation になる

テストのために fetch を差し替えられるクラスを書いたところ、ローカルでは動くのに Cloudflare Workers 上でだけ Illegal invocation で失敗しました。8 通りの呼び出し方を試してエラーになる条件を切り分け、workerd が this を確かめている仕組みと、直し方をまとめます。

記事を読む