【Java入門】コンパイルする方法とエラー発生時の対処法について解説

Javaはソースコードを書くだけでは実行することはできません。コンパイルを実行して、プログラムが動く状態にしなければいけません。

この記事では、Javaのコンパイルについて以下の内容で解説していきます。

  • コンパイルする方法
  • 環境変数の設定
  • エラーでコンパイルできない場合
  • オプションの設定
  • jarファイルを作成する方法

など、コンパイルの基本からコンパイルエラーが発生した場合の対処法について、わかりやすく解説していきます!

なお、Javaの記事については、こちらにまとめています。

目次

コンパイルする方法

ここでは、コマンドプロンプトでJavaをコンパイルする方法について説明します。コマンドプロンプトで以下のように入力して実行します。

javac Javaファイルの名前.java

コンパイルまでの準備

Javaファイルをコンパイルするまでの準備について説明します。

まずはJava10をダウンロード、インストールする必要があります。インストール後に環境変数を設定する必要があります。そして環境変数を設定した後にパソコンを再起動したらコンパイルできるようになります。

ダウンロード、インストール、環境変数の設定についてはこちらで詳しく解説していますので、ぜひ参考にしてください。

コンパイルするには実行したいJavaファイルが保存されているフォルダにコマンドプロンプトで移動する必要があります。コマンドプロンプトで指定のフォルダに移動するには以下のように入力実行します。

cd Javaファイルが保存されているフォルダのパス

コンパイルの例

それでは簡単な例をご紹介します。ここでは「C:Sample」フォルダ内の「Sample.java」ファイルをコンパイルします。

java_compile01

コンパイル後の確認

コンパイルが成功すると「Javaファイル名.class」ファイルが作成されます。これが作成されているのが確認できればOKです。

またこのあとプログラムを実行する方法については、こちらで詳しく解説しています。ぜひ参考にしてください。

エラーでコンパイルできない場合

コマンドプロンプトにエラーが表示され、コンパイルできない主な原因と対処法は以下のとおりです。

環境変数の設定を確認

Javaはインストールしただけでは、コンパイルや実行はできません。環境変数を設定する必要があります。

こちらを参考にもう一度確認してみましょう。

そして忘れがちなのがパソコンの再起動です。もし再起動していなければ、再起動後にもう一度コンパイルしてみましょう。

Javaファイルの確認

コマンドプロンプトでJavaファイルが保存されているフォルダに移動する必要があります。移動できているかもう一度確認しましょう。

文法が間違っている場合

以下のサンプルコードでコンパイルできるか確認してみてください。サンプルコードでコンパイルできて、他のJavaファイルでコンパイルできない場合はソースコードの記述に誤りがあるかもしれません。

ソースコードをもう一度確認してみましょう。

Sample.java:

public class Sample {
    public static void main(String[] args) {
        System.out.println("Hello Java!");
    }
}

オプションの設定

javacコマンドでコンパイルする際にオプションを設定することもできます。主なオプションは以下のとおりです。

オプション説明
-encoding 文字コードソースコードで使用している文字コードを指定
-sourcepath パスソースファイルの保存先
-d パスクラスファイルの出力先
-classpath パス関連するクラスファイルの検索先
複数指定時はセミコロン(Windows)、
もしくはコロン(Unix)区切り
-verbose詳細なメッセージを表示
-source バージョン対象となるコードのバージョンを表示

以下のように指定します。

javac -sourcepath C:Sample -d C:Sample -verbose Sample.java

jarファイルを作成する方法

javacコマンドで複数のclassファイルを作成した後に、拡張子が「.jar」のjarファイルを作成することもできます。

jarファイルとは簡単に言うと、Javaのファイルを1つにまとめて圧縮したファイルのことです。

class Sample {
    public static void main(String[] args) {
        Sample2 sample = new Sample2();
    }
}

class Sample2 {
    public Sample2() {
        System.out.println("Hello Java!");
    }
}
jar -cvf Sample.jar *.class

javacコマンドでclassファイルを作成した後に、jarコマンドでSample.classファイルとSample2.classファイルを1つにまとめています。jarコマンドの主なオプションは以下のとおりです。

オプション説明
-c圧縮ファイルの新規作成
-t内容の一覧を表示
-x圧縮ファイルの展開
-ujarファイルの更新
-vコマンドラインに処理内容を表示
-fjarファイル名の指定
-mマニフェストファイルを指定
-iインデックス情報を作成
-o圧縮を行わない
-Mマニフェストファイルを作成しない
-C指定したファイルの取り込み

まとめ

今回はJavaのコンパイルについて解説してきましたが、いかがでしたか?

作成したJavaファイルをコンパイルして、Javaプログラミングを楽しんでいきましょう!

この記事を書いた人

熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。
お問合せはこちらでも受け付けています。
info@sss-lab.com

目次