• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

最新Java情報局

Java SE 9、Project Jigsawの標準モジュールと依存性の記述

櫻庭 祐一=Java in the Box 2016/05/12 ITpro

 前々回より、Java SE 9の注目機能であるProject Jigsawを取り上げています。前回は、Project Jigsawのモジュールを作成し、モジュールを使うところまで駆け足で紹介しました。

 今回は、もう少し詳しくモジュールを見ていくことにしましょう。

 その前に、簡単に前回のおさらいです。

 Project Jigsawで仕様策定されているモジュールは、今までのJARファイルと異なり自分自身に関する情報を記述できるようになりました。主な情報として、以下の2項目があります。

  • 依存性
  • 公開可能範囲

 これらの情報はソースのルートディレクトリに配置するmodule-info.javaに記述します。

 モジュールは今までの互換性から、JARファイルで提供されます。しかし、コンパイルや実行にはクラスパスではなく、モジュールパスを使用します。モジュールパスは、個々のJARファイルを指定するのではなく、モジュールのJARファイルを配置したディレクトリ単位で指定します。

 さて、今回は既に存在するモジュールを見ていくことから始めましょう。既に存在しているモジュールというのは、JREのモジュール群です。

標準モジュール

 JREで提供される標準のモジュールは、Javaで作成するアプリケーションであれば、必ず使用しなくてはいけません。とはいっても、Java SE 8までのようにrt.jarという巨大なJARファイルで提供されているわけではありません。

 標準ライブラリーも用途に合わせて、分割され、それぞれがモジュール化されています。

 標準で提供されているモジュールの一覧を調べるには、javaの起動オプションとして-listmodsを指定します。

  

C:\demo>java -listmods
java.activation@9-ea
java.annotations.common@9-ea
java.base@9-ea
java.compact1@9-ea
java.compact2@9-ea
java.compact3@9-ea
java.compiler@9-ea
java.corba@9-ea
java.datatransfer@9-ea
java.desktop@9-ea
java.httpclient@9-ea
java.instrument@9-ea
java.jnlp@9-ea
java.logging@9-ea        
    <<以下、省略>>

  

 -listmodsオプションで出力されるモジュールは92あります。

 モジュールはモジュール名と、@の後にバージョンが付記されて出力されます。9-eaと表記されているのは、Java SE 9のEarly Accessであることを示しています。

 これらのモジュールはJDKをインストールしたディレクトリの直下にあるjmodsディレクトリに配置されています。

次ページ以降はITpro会員(無料)の方のみお読みいただけます。

次ページ 前々回に軽く触れましたが、標準モジュールはJAR...
  • 1
  • 2
  • 3
  • 4
  • 5

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

  • 【ニュース解説】

    副業解禁のインパクト

     働き方改革の一環として、企業で働く社員の「副業」に注目が集まっている。副業は新たな収入源の確保、転職しなくても新しい仕事にチャレンジできるといったポジティブな側面がある。一方、過重労働や本業と副業での利益相反といった懸念もある。

  • 【東京五輪のワクワクIT】

    五輪効果は32兆円、走り出すIT企業

     2020年の東京オリンピック(五輪)・パラリンピックの開催まであと3年だ。2017年3月6日には東京都が、招致決定の2013年からの10年間で東京五輪・パラリンピックの経済効果は32兆円になるとの試算を発表。こうした市場を狙い、IT企業も動き出している。

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る