Develop with pleasure!

福岡でCloudとかBlockchainとか。

JSR277 ModuleSystem

あら、Java7から導入予定とか言われてた、JSR277のJavaModuleSystemって見送りになってたのね。JSR294のJava Language Modularity Support with Superpackageの方は予定通り導入されるみたいだけど。

JSR277では、JAR形式のアーカイブにモジュール名とバージョン、依存情報を定義したメタデータファイルを梱包したJAM(Java Application Module)というアーカイブが定義される。
JAMとして定義されたモジュールを管理するJavaModuleSystemのリポジトリも用意され、モジュールが共用管理される。

Mavenのように依存性の解消も行う。ただし、Mavenと異なるのは、実行時に依存モジュールがロードされるというところ。パッケージが実行時にロードされるのであれば初期にパッケージングされるファイル容量も少なくて済む。

詳しくは、(JSR294も一緒に)JJUGにアップされているこちらの資料が分かりやすい。
http://www.java-users.jp/contents/events/ccc2008spring/materials/C2-Java7modulality.pdf

にしても導入が見送られたのは残念だ。まぁ、OSGi使えってことか。

IBMのSun買収は断念されたみたいだけど、今後Javaはどーなるんだろう。