【Mac環境】ターミナルからJavaの実行方法をご紹介!【初心者向け】
  • facebookページ
  • twitterページ
  • 2020.01.06

    【Mac環境】ターミナルからJavaの実行方法をご紹介!【初心者向け】

    近年の開発ではEclipseを初めとした統合開発環境(IDE)を利用することが基本になっており、ターミナル(コマンドライン)でのJava実行方法を知らない開発者も多くいます。

    本記事では基本に立ち返って、コマンドを利用したJava実行方法について確認していきましょう。

    Javaファイルを実行する仕組みについて理解しよう

    Javaでプログラミングを行う場合、Javaファイルと呼ばれるコードが記述されたファイルを作成しただけでは実際にシステムとして動かすことは出来ません。

    基本的なJavaプログラムを動かす仕組みについて確認しておきましょう。

    Javaファイルはコンパイルしてクラスファイルを作成する必要がある

    Javaファイルに記述されたプログラミング言語のコードではコンピューターが解釈することが出来ないため、クラスファイルと呼ばれるコンピューターが解釈出来る中間言語に「コンパイル」する必要があります。

    「コンパイル」をコマンドから行う方法は下記の通りとなります。

    具体的には「Main.java」ファイルをコンパイルしようと思うと下記のコマンドを入力する必要があります。

    実行した結果「Main.class」というコンピューターが理解出来るクラスファイルが作成されます。

    Javaのクラスファイルを指定して実行する

    Javaプログラムをコンパイルしてクラスファイルまで作成するとあとは実際に実行するだけです。

    下記のコマンドでJavaプログラムを実行することが可能です。

    注意して頂きたいのが、クラスファイルの名称を指定する際には拡張子「.class」を除いた名称で指定するようにしましょう。
    実際に「Main.class」を実行する場合は下記のコマンドを実行します。

    サンプルコードで確認しよう

    では実際にサンプルコードをコンパイルして実行してみましょう。

    まず「Main.java」ファイルを用意します。

    次にコンパイルするため、下記のコマンドを実行します。

    下記の画像のように、「Main.class」ファイルが追加されていることが確認出来ます。

    最後に下記のコマンドで実行した結果が画像の通りとなり、指定した「ポテパン」の文字が出力されていることを確認出来ます。

    複数ファイルのJavaプログラムを実行するには

    プログラムは通常1つのファイルだけで完結することは少なく、複数ファイルに記述されたコードをまとめて実行する必要があります。

    同一階層のクラスファイルなら単一ファイルと同様の方法でコンパイル可能

    同じフォルダ内に「Main.java」と「Sub.java」というソースファイルがある場合、コンパイルはMain.javaを指定してコンパイルするだけで「Main.class」と「Sub.class」が作成されます。

    Javaのコンパイラーである「javac」がコンパイル対象として指定した「Main.java」から「Sub.java」を参照していることを判別し、自動でコンパイルが行われているため、「Main.java」のソースと全く関係ないファイルの場合には、コンパイルされることはありません。

    階層が異なるディレクトリにファイルが保存されている場合

    階層が異なるディレクトリに参照したいファイルが保存されている場合、コンパイル時に明示的に指定してあげる必要があります。

    上記のコマンドを順に説明していきます。

    classpathを指定してファイルの参照先を指定する

    まずファイルをコンパイルするため「javac」コマンドを利用し、オプションとして「-cp(クラスパス)」を指定しています。

    「-cp」は「-classpath」の略称で、別階層の複数ファイルをコンパイルする場合にはJavaのコンパイラに参照先を教えてあげるためのコマンドです。

    参照先ディレクトリを複数指定するためには「:」で区切って指定する

    まず最初の「.」の意味は、カレントディレクトリ(現在のフォルダ)を意味します。

    最後に指定しているファイルが存在するディレクトリでコマンドを実行します。

    次に「:」ですが複数のディレクトリを指定するためにはディレクトリ毎に「:」で区切る必要があります。

    ポテパンダの一言メモ

    参照する必要があるディレクトリを全て指定してコンパイルを行いましょう。

    サンプルコードで確認しよう

    複数ファイルに分かれたJavaプログラムを実行する方法についてもサンプルコードで確認しておきましょう。

    まずは「Main.java」「Sub1.java」「Sub2.java」「Sub3.java」の4つファイルを用意します。

    Main.java

    Sub1.java

    Sub2.java

    Sub3.java

    今回のサンプルコードでは「Document」フォルダの配下に「sample」フォルダを用意し、「Main.java」「Sub1.java」「Sub3.java」ファイルを格納しています。

    更に、「sample」フォルダ配下に「sampleSub」フォルダを作成し、「Sub2.java」ファイルが格納されている状態です。

    下記の画像でご確認ください。

    ではまずコンパイルを下記のコマンドで行います。

    コマンドを実行するフォルダは「Document」配下の「sample」フォルダです。

    実行した結果が下記の画像のようになります。

    「Main.java」から呼び出されていない「Sub3.java」についてはクラスファイルが作成されていないことがご確認頂けます。

    実際に実行してみましょう。

    複数階層のフォルダを参照する必要がある場合には、実行時にも「-cp」オプションでフォルダ指定することに注意してください。

    実行結果が下記の画像となります。

    さいごに:コマンドからのJava実行方法を学んで基本的な仕組みを理解しよう!

    本記事では、Mac環境でのターミナルからJavaを実行する方法についてご紹介してきました。

    IDEでの開発が一般的となってきた昨今、Javaを実行する仕組みを理解せずにプログラミングを行っているJavaプログラマーも少なからずいらっしゃいます。

    コマンドラインでのJava実行方法を学び、基本知識を身につけることでIDEでの開発を行う際にもより深く理解して作業することが出来ますので、ぜひ今回ご紹介した方法を一度ご自身でも試して理解を深めてください。


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料25万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE

    ポテパンおすすめ案件