Java の未解決のコンパイルエラーを修正

Rashmi Patidar 2023年10月12日
Java の未解決のコンパイルエラーを修正

Java は、JVM、JRE、および JDK の 3つのコンポーネントで機能します。

JVM(Java 仮想マシン)は物理的に存在せず、バイトコードを実行するための環境を提供します。このバイトコードはプラットフォームに依存しないため、別のマシンでの実行にも慣れることができます。

同様に、JRE は、システムにプログラムをロードするための JVM とサポートライブラリおよび jar を保持するランタイム環境です。また、JDK は、エンタープライズレベルのソリューションを構築および開発するために必要な Java DevelopmentKit です。

すべてのコンポーネントが一緒になって、適切にビルドおよび実行するためのアプリケーションを構成します。関数が壊れた場合、コンパイル時または実行時の問題が発生します。

Java 言語は、最初にソースコードをクラスファイルに変換するために機能します。また、ランタイム環境では、クラスファイルまたはバイトコードを使用して実際のプログラムを実行します。

ソースコードからクラスファイルまたはマシンが理解できるバイトコードへの変換プロセスは、コンパイルと呼ばれます。コンパイルは、アプリケーションを実行する前に渡す必要があるアプリケーション実行プロセスの重要な部分です。

コンパイルプロセスでは、構文とセマンティクスの問題、最適化の問題を解決し、コンパイラの実際の作業である機能を正しく使用します。JVM は、最初にコードをロードし、ロードされた変更を確認してアプリケーションを実行することによってアプリケーションを実行し、最後にコードを実行するためのランタイム環境を作成します。

以下は、Java でのコンパイルの問題を示すコードブロックです。

public class CompilationIssues {
  public static void main(String[] args) {
    MyClass myClass = new MyClass();
    System.out.println("The instance of MyClass is : " + myClass);
  }
}

CompilationIssues クラスは、上記のコードブロックの main メソッドを保持します。

このメソッドには、新しいキーワードを使用して作成される MyClass のインスタンスがあります。オブジェクトには、新しく作成されたオブジェクトのオブジェクトを出力するための print-stream 関数が追加されます。

上記のプログラムに関連する所見は次のとおりです。

Intellij、Eclipse、Netbeans などの IDE を使用すると、MyClass クラスが使用できないことを示すエラーが赤色で表示されます。

スコープにクラスが存在する場合、エディターはクラスをインポートするためのさまざまな提案を提供します。クラス名が見つからない場合は、同じ名前のパッケージに別の新しいクラスを作成することをお勧めします。

IDE のオプションのスクリーンショットは次のとおりです。

Intellij エディターまたは IDE でのコンパイルの問題を回避するためのエディターからの提案

ファイルがメモ帳で書き込まれる単純な Java ファイルであるか、特別な Java エディターがない場合は、保存とコンパイルが解決策です。

そうすれば、以下の形式でエラーが発生します。さらに、実際の問題がどの行に存在するかについての提案を提供します。エラー定義とスタックトレースのみで問題を根絶または解決できます。

以下は、上記のコンパイル問題エラーの出力です。

C :\Users\IdeaProjects\Test\src\main\java\CompilationIssues.java : 3 : 9 java
    : cannot find symbol symbol : class MyClass location : class CompilationIssues

このような問題の解決策は、スタックトレースに鋭敏な目を向けることです。

問題を明確に観察して理解し、解決策を提供することができます。上記の問題は、存在しない場合はクラスを作成することで解決できます。

また、エラーを示すクラスがすでに存在する場合は、import ステートメント import org.test.MyClass ステートメントを使用して、main メソッドを保持し、問題が入力されるクラスにパッケージをインポートします。このインポートステートメントは、コンパイルの問題を解決します。

コンパイルは、Java で定義されたルールがその条件を満たさない場合にも発生する可能性があります。例外処理、到達不能コード、スコープまたは変数、パブリックプライベートアクセス修飾子の使用法と同様に、変数の初期化はコンパイルの問題の例の一部です。

最悪の場合、互換性のないバージョンの Java が存在する可能性があります。Java 11 の機能と同様に、環境の Java 変数を Java 8 として設定します。

適切なメモを取り、プログラムのコンパイル時に表示されるエラーメッセージを観察する必要があります。問題を迅速かつ適切に解決するのに役立ちます。

著者: Rashmi Patidar
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

関連記事 - Java Error