[java] Hello world を作成する (Windows)

2018年2月13日

 IDE に頼らず自力でコンパイル & jar ファイル作成までを行う場合のメモ。

  1. JDK の場所を確認します。

     今回は C:\Program Files\Java\jdk1.8.0_161 とします。
     (JDK はインストール済みとします)

  2. ワークフォルダを設定します。

     今回は C:\Work とします。
     (フォルダは作成済みとします)

  3. コマンドプロンプトを起動します。

     コマンドプロンプトを起動し、カレントフォルダを C:\Work にし、環境変数 PATH に C:\Program Files\Java\jdk1.8.0_161\bin を追加します。

    cd C:\Work
    path C:\Program Files\Java\jdk1.8.0_161\bin;%PATH%
    
  4. Hello.java を作成します。

     notepad Hello.java と入力して以下のコードを打ち込みます。
     内容は "Hello" と現在日時を表示するプログラムです。
     入力後保存します。

    public class Hello {
      public static void main(String[] args) {
        System.out.println("Hello " + java.time.LocalDateTime.now());
      }
    }
    
  5. コンパイルします。

     以下のように入力しコンパイルします。

    javac hello.java
    

     「操作可能なプログラムまたはバッチ ファイルとして認識されていません。」とか言われたら PATH の設定が間違っているので環境変数 PATH の設定を見直してください。
     その他の場合は入力したコマンドおよびプログラムコードを再確認してください。
     コンパイルに成功していれば Hello.class というファイルができています。

  6. 実行してみます。

     以下のように入力し実行を確認します。

    java -cp . Hello
    

     -cp は -classpath の略です。java プログラムのあるルートフォルダを指定します。今回はルートフォルダ = カレントフォルダなので省略可能ですが、一応指定しています。("-cp ." の部分。"." はカレントフォルダのことです。"." の代わりに "C:\Work" を指定してもよいです。)

     続く "Hello" の部分は実行を開始するクラス名を指定します。ファイル名ではありません。またクラス名なので大文字小文字は区別するのでその点に注意します。

  7. jar ファイルを作るためのマニフェストファイルを作成します。

     notepad Hello.mf と入力して以下のコードを打ち込みます。
     記述内容は「Hello クラスを実行します」です。

    Main-Class: Hello
    
    

     注意点としては、末尾で忘れずに改行を入力してください。つまり、二行目にカーソルが移動できる状況にしてから保存します。
     改行が入力されていない場合、次の作業でうまく jar ファイルが作成できません。

  8. jar ファイルを作成します。

     以下のように入力します。
     オプション cfm の意味は jar と入力して確認してください。

    jar cfm MyApp.jar Hello.mf Hello.class
    

     作成に成功していれば MyApp.jar というファイルができています。
     また jar ファイルは zip ファイルでもあるので、拡張子を zip に変更すれば内容を確認することができます。

  9. jar ファイルの実行を確認します。

     以下のように入力し、jar ファイルの実行を確認します。

    java -jar MyApp.jar
    





カテゴリー: Java, Program, 未分類

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org