Contenu connexe
Similaire à Java9 and Project Jigsaw
Similaire à Java9 and Project Jigsaw (20)
Java9 and Project Jigsaw
- 3. Project Jigsawとは?
● モジュール管理のための仕組み
○ 複雑化しがちな依存関係、同一ライブラリのバージョン衝
突といったクラスパス問題(Jar Hell)を解決
● JDK自体もモジュール化される
○ というか元々JDKのモジュール化が目的だった
○ 必要なモジュールだけでJDKのサブセットを構成可能
○ 組み込み機器等での利用が想定される
- 5. 延期に次ぐ延期
● 2008年
○ Project Jigsaw開始(Sun時代)
● 2010年
○ Java7のリリースを優先するためLambdaと共にJava8に
先送り
● 2012年
○ Java8のリリースを優先するためJava9に先送り
● 2015年
○ Jigsawを入れるためにJava9のリリースを半年延期
- 10. jarの作成と実行
# Jigsaw対応のjarを作成
jar --create --file mlib/Util@1.0.jar --module-version 1.0 -
C build/Util .
# Mainクラスを指定
jar --create --file mlib/App@1.0.jar --module-version 1.0 --
main-class sample.app.Main -C build/App .
# 実行
java -mp mlib -m App
- 16. uses, provides
module Storage {
exports sample.storage;
uses sample.storage.Storage
}
module S3Storage {
requires Storage;
provides sample.storage.Storage
with sample.storage.s3.S3Storage;
}
Storageの実装を要求
Storageの実装として
S3Storageを提供
- 18. 依存関係を見てみる
$ jdeps -module mlib/Util@1.0.jar
Util@1.0.jar -> java.base
Util (Util@1.0.jar)
-> sample.util Util@1.0.jar
sample.util (Util@1.0.jar)
-> java.io java.base
-> java.lang java.base
-> java.util java.base
- 20. 試してみよう
● JDK9 Early Access with Project Jigsaw
○ https://jdk9.java.net/jigsaw/
● NetBeansのJigsawサポート
○ http://wiki.netbeans.org/JigsawSupport