気の向くままに辿るIT/ICT/IoT
Java

Java インストールと確認

ホーム前へ次へ
Javaはどれをインストールしたらいいの?

Java インストールと確認

各種Javaとインストール

 Javaには、Java Servlet/JSP/JavaFXなどがあり、他方、Javaアプリケーションをブラウザ上で実行する技術やそのプログラムとしてJava Appletがありますが、それぞれインストールや環境構築が必要なケースがあります。

 このページでは、必要な開発パッケージ、開発環境や実行環境の選択(とインストール)、インストール後の確認方法について見ていきます。

Java開発環境タイプ

 Javaの開発環境は、いくつかあります。

Java開発環境タイプ用途
Java EE SDKJava EEサーバを介したインターネット、イントラネットWebシステム
Java SE SDKWebサーバまたはローカルJavaサーバを介したJSPをCGIとしたWebシステム
Java ME SDK情報家電等組み込み系・ケータイ/PDAなどモバイルアプリケーション
JDKJavaコンパイラ/コンパイル環境

 まず、EE/SE/MEという用途に応じた分類があります(過去のバージョン表記ではJ2EE/J2SE)。

通称・略記開発環境
Java EEJava Platform, Enterprise Edition
Java SEJava Platform, Standard Edition
Java MEJava Platform, Micro Edition

 Enterpriseとは、事業や企業を、Enterprise Systemとは、特に大規模な法人業務をIT化したシステムを指し、Javaにおいては、これらに対応するのが、Java SEを機能拡張したJava EEです。

 Standardとは標準ということですが、オブジェクト指向言語であり、Webアプリケーションに対応するJavaにおいては中小規模~個人まで幅広く対応するのが、JavaSEです。

 よってJava EEは、インターネットを介したWebサーバ、WAN/LANによるエクストラネット/イントラネットを介した社内サーバ(団体・法人など組織内)におけるWebシステム、Java SEは、インターネット上のWebサーバを介したCGI、または、ローカル環境でのJavaサーバによるWebシステムというイメージと考えていいでしょう。

 Java MEはエミュレータを備えた組み込み系・モバイルアプリケーションに対応するものです。

 次に開発可能な環境によってSDK/JDKの2通りがあります。

通称・略記意味
SDKSoftware Development Kit
JDKJava Development Kit

 SDKは、Webアプリケーション開発を含むフルスペックの開発環境パッケージ、JDKは、Javaプログラミングを行う為の最小限パッケージ、つまり、Javaコンパイラです。

Java実行環境タイプ

 Java Appletもそうですが、開発用途ではなくJavaで作られたアプリケーションを実行するだけならランタイム環境(JRE/Java Runtime Environment)があればOKです。

通称名称用途
JREJava Runtime Environment「Javaアプリケーションを実行する為の環境」

 尚、開発環境であるSDK/JDKにはJREも含まれており、そのJREにはAPIやツールチップ、JVMが含まれています。

Java開発環境の選択

 尚、前述のように開発環境タイプから見る方がわかりやすいかもしれませんが、若干強引にJavaの種類からインストールまたは準備する必要のある環境を見るとこのようになると思われます。

各種Java主に必要な環境
Java Servlet/JSP/JavaJava EE サーバ
Java EE SDK
JSP/JavaJavaサーバ
Java SE SDK(Java EE SDK)
JavaJDK
Java AppletJRE
JavaFXJavaFX SDK
JavaFX Runtime
JavaFX 2.0JRE

 各種インストールパッケージは、OSごとに用意されており、更にはインストールマシンが32bit(x86)か64bit(x64)かによって異なる場合があり、インストールする前に注意、確認が必要です。

Java専用サーバ

 Javaサーバには大きく2種類あります。

現行Javaサーバ用途
JavaサーバJSPによるCGIアプリケーション用
Java EE x サーバ
(旧J2EEサーバ)
Java Servlet、JSP、EJB/Enterprise JavaBeansを使ったWebアプリケーション用

 EJB/Enterprise JavaBeansは、SE仕様のJavaBeansを機能拡張し、ネットワーク分散型ビジネスアプリケーションにおけるサーバサイドプログラミングを可能とする仕様とその実装です。

Javaサーバ備考
TomcatApacheプロジェクトのオープンソース
...etc.
Java EE x サーバ
(旧J2EEサーバ)
備考
JBossオープンソース
GlassFishオープンソース
Sun Java Application Server PESun Microsystemsの無償版(有償版あり)
...etc.

Java対応IDE/統合開発環境

 GUI環境でJavaによる開発を行う場合には、Java用のnetBeans、汎用的なIBM製のEclipseといった統合開発環境(IDE/Integrated Development Environment)があります。

Java GUI開発環境対応言語備考
netBeansJava/Java系Sun Microsystems社製
Eclipse汎用IBM社製

Android SDK/NDK/ADT

 ちなみにスマートフォン(スマホ)用OSであるGoogle Androidのアプリ開発環境SDKもJavaで作られています。

 Android SDKを実行する為にはJDKが必須で、別途JDKまたはJDKを包含するパッケージが必要です。

 Eclipse用プラグインとしてADT Plugin for Eclipseもあります。

 Android開発環境にはNDK/Native Development Kitも用意されており、これはC/C++でのチューニングを可能とするものです。

Javaのインストール状況確認

 Java環境をインストールした後、JDKならCUIで、SDKならCUI/GUIで確認することができます。

 CUIならjava/javacを調べることで確認することができ、もちろんCUI/GUI問わず、簡単なプログラムを作成、コンパイル、実行することによって確認しても構いません。

 尚、JavaFX SDKをインストールする場合には、netBeansを併せてインストールすると何かと便利でインストール状況はnetBeansを起動して動作確認できればOK、AppletはHTML/XHTMLタグで組み込んだらブラウザで確認できます。

CUIの場合(Windowsのコマンドプロンプト含む)GUIの場合
prompt> java -versionnetBeansを起動
prompt> javac -version
UNIX/Linux/Mac OS X/Cygwin...etc.
prompt> which java 
prompt> whereis java 
...etc.
prompt> which javac 
prompt> whereis javac 
...etc.

 それぞれバージョンが表記されればOK、そうでなければインストールされていないと考えてよく、その場合はインストールします。

ソースコードとコンパイル

$ ls 

HelloWorld.java 

$ cat HelloWorld.java 

  // ファイル名とclass名は同じ名前にする 

  public class HelloWorld { 

    public static void main (String args[]) { 

      System.out.println("Hello World !!"); 

    } 

  } 

$ javac HelloWorld.java 

$ ls 

HelloWorld.class HelloWorld.java 

$ java HelloWorld 

Hello World !! 

 次にお決まりのHello World!!など簡単なプログラム(.javaファイル)をjavacでバイトコードにコンパイルして.classファイルが生成され、.class拡張子のないファイル名をjavaコマンドで実行できれば、これ以上特に設定する必要はありません。

 一方、本来はこれ以上設定は不要のはずですが、もし、プログラム自体のエラーではなくプリコンパイル・コンパイルでリンクに失敗するといったエラーがある場合には、コマンドラインで-classpathオプションに続けてパスを渡すか、環境変数CLASSPATHを設定することでとりあえず、それらのエラーを解消することができる場合があります。

 環境変数CLASSPATHには、SDKやJDK、それに含まれるJREのlib関連パスを、更に独自に置いたクラスファイルパスがある場合には、それも設定します。

 尚、JAVA_HOMEは必須ではありませんが、Java以外のアプリケーションが参照する可能性、他の環境変数への流用における利便性からjavaの実行ファイルパス指定して登録することもできます。

 ちなみに先のバージョン確認やパス確認でjava/javacの存在が確認できる場合には、環境変数PATHに必要な設定が追加されている(PATHが通っている)わけですが、そこに登録されるのはSDK/JDKパス内のbinディレクトリにある実行ファイルパスです。

コンパイラ gcj

gcjファイル生成オプション
オプション生成ファイル
-C.class/バイトコードファイル
-c.o/オブジェクトファイルgcc同様
-o実行形式ファイル
-S.s/アセンブリファイル

 また、GNUツールがインストールされていれば、gcjコマンドを利用してコンパイルできる可能性もありますが、必ずしもJava Platformとの互換性があるとは限りません。

 gcjコマンドは、コマンドラインオプション及び生成するファイル共にgccと同じようにコンパイルすることが可能です。

デバッガ jdb

$ jdb HelloWorld 

 JavaのデバッガにはJVM上で機能するjdbがあり、CUIでの起動はjdbコマンドの引数としてJavaクラスファイル(バイトコード)の拡張子.classをとったファイル名を渡します。

ホーム前へ次へ