Cygwinを使って、Windows環境でシェルとjavaを実行する方法

 

javaの開発はWindows環境で行われることが多いと思います。ウェブ系の開発であれば困ることはほとんどありませんが、バッチの開発をする場合、Windows環境は何かと不便です。

バッチ処理は、シェルからjavaプログラムを呼び出す形で作成されます。シェルは、Windowsでは動かず、Unix系のOS上で動作します。

そこで今回は、Windows上でシェルとjavaプログラムを動かす方法をまとめてみます。

環境セットアップ

Windows上でシェルとjavaプログラムを動かすために、手軽なのは、Cygwinを利用することです。Cygwinとは、Windows上で動作するプログラムで、Unix系で利用できる一般的なシェルコマンドを入力・実行ができます。

今回動作確認をした環境は、Windows10となります。(ほかのバージョンでも、それほど差異はないと思います)

環境セットアップは次の手順で行います。

  1. Cygwinのインストール
  2. javaのインストール
  3. javaのパスの設定

それでは、環境のセットアップ方法を紹介します。

Cygwinのインストール

Cygwinの公式サイトから、「setup-x86_64.exe」をダウンロードします。32bit版OSを利用している場合は、「setup-x86.exe」を利用してください。

setup.exeをダウンロード

setup.exeをダウンロード

以降の手順はすべてデフォルト設定でいいと思います。

Cygwinインストール手順1

Cygwinインストール手順1

Cygwinインストール手順2

Cygwinインストール手順2

Cygwinインストール手順3

Cygwinインストール手順3

Cygwinインストール手順1

Cygwinインストール手順1

無事にインストールできましたか?

Cygwinを起動して、次のような画面が出力されればインストール成功です。

Cygwin起動後画面

Cygwin起動後画面

javaのインストール

Cygwinの次はJavaをインストールします。すでにjavaがインストールされている人は飛ばしてください。

詳細は割愛しますが、JREまたはJDKをダウンロードしてインストールするだけです。

JREは、Java Runtime Environmentの略称です。その言葉通り、Javaプログラムの実行環境を提供します。

JDKは、Java Development Kitの略称です。Javaの開発環境を提供しており、開発に必要なコンパイラ(javac)等とJREを提供しています。

Javaのインストールが完了したら、java.exeの場所を調べておきましょう。JREをインストールしたデフォルト設定では、「C:\Program Files (x86)\Java\jre1.8.0_73\bin」へインストールされていました。

javaのパス設定

Cygwinとjavaをインストールしただけでは、Cygwin上でjavaを利用できません。Cygwin上で実行できるように、パスを通してあげる必要があります。

javaのパスをcygwin用へ変換

まず、Windows環境上のパスをCygwin上で認識できるパスへ変換します。

  • 変換前:C:\Program Files (x86)\Java\jre1.8.0_73\bin
  • 変換後:/cygdrive/C/Program Files (x86)/Java/jre1.8.0_73/bin

Cygwin上では、先頭に「/cygdrive」をつけて、Windows環境上のパスをスラッシュ区切りで表現します。

.bash_profileの編集

Cygwinのターミナル上で、.bash_profileを編集します。.bash_profileは、ユーザーがログインした際に読み込まれるファイルです。javaのbinディレクトリへパスを通す記述をしておきます。

$ vi .bash_profile

# ファイルの最後尾に下記を記載します。
PATH=$PATH:"/cygdrive/C/Program Files (x86)/Java/jre1.8.0_73/bin"
export PATH

vi の使い方がわからない場合は、Windows環境から直接ファイル(C:\cygwin64\home\user.bash_profile)を編集してしまっても構いません。

動作確認

ファイルの編集が終わったら、ターミナルを再起動して、javaを実行してみましょう。

$ java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) Client VM (build 25.73-b02, mixed mode)

知っていると便利かもしれないこと

コピペ方法

Windows環境でコピーした内容をCygwin上でペースとするときに、Ctl+vでは対応できません。

右クリックから、ペーストを選びましょう。コピーも同様に右クリックから行います。

cygwin上のディレクトリと、Windows上のディレクトリの関係

Cygwin上で見ることができるディレクトリは、Windows環境からも確認することができます。デフォルト設定の場合は、「C:\cygwin64」がルートディレクトリとなります。

反対にCygwin上から任意のWindows環境のパスを見たい場合は、「/cygdrive/C/cygwin64」のような形で見ることができます。先頭に「/cygdrive/」をつけて、スラッシュ区切りとします。

知っていると便利なコマンド

知っていると便利なコマンドは次へまとめています。

Cygwin上でバッチ処理を作成するうえで、利用するであろうコマンド

  • このエントリーをはてなブックマークに追加
  • Pocket

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。