jdepsでCompactプロファイルの依存関係を調べる

Java SE Embedded 8からCompactプロファイルが導入され、 デバイスのROMサイズに応じたプラットフォームの選択が可能となりました。 Compactプロファイルは、compact1, compact2, compact3の3つがあります。 またさらに全てのSEのAPIを含んだFull JREも利用可能となっており、 エンベデッド向けのJava SEとしては、全部で4つの選択肢があることになります。

そこで、自分のアプリケーションがどのプロファイルであれば動作可能なのかを知る方法として、jdepsというツールを使って調べる方法を紹介いたします。なお、jdepsはJDK 8から新規追加されたツールで、JDKの中に同梱されており($JAVA_HOME/bin/jdeps)、いつでも無償にて利用することが可能です。

以下にサンプルとして、jdepsでCompactプロファイルを確認する方法を示します。

---------------------------------------------------------------------------------------------------------------------

 > jdeps -P helloworld.jar           # パッケージ単位で依存関係を調べる場合

helloworld.jar -> /opt/jdk1.8.0_05/jre/lib/rt.jar (compact1)
   com.example (helloworld.jar)
      -> java.io                                            compact1
      -> java.lang                                        compact1
      -> java.util.logging                              compact1

---------------------------------------------------------------------------------------------------------------------

>jdeps -P -v helloworld.jar           # クラス単位で依存関係を調べる場合

com.example.HelloWorld                           -> java.io.PrintStream                             compact1
com.example.HelloWorld                           -> java.lang.Class                                   compact1
com.example.HelloWorld                           -> java.lang.InterruptedException           compact1
com.example.HelloWorld                           -> java.lang.Object                                  compact1
com.example.HelloWorld                           -> java.lang.OutOfMemoryError             compact1
com.example.HelloWorld                           -> java.lang.Runtime                               compact1
com.example.HelloWorld                           -> java.lang.String                                   compact1
com.example.HelloWorld                           -> java.lang.StringBuilder                        compact1
com.example.HelloWorld                           -> java.lang.System                                compact1
com.example.HelloWorld                           -> java.lang.Thread                                 compact1
com.example.HelloWorld                           -> java.lang.Throwable                            compact1
com.example.HelloWorld                           -> java.util.logging.Level                          compact1
com.example.HelloWorld                           -> java.util.logging.Logger                       compact1
---------------------------------------------------------------------------------------------------------------------

また、出力結果をファイルに出力する場合は、"-dotoutput"オプションに出力ディレクトリを指定することで、ファイルへの書き出しが可能となっています。 ちなみに出力ファイルのフォーマットはDOT言語の形式となっています。

参考URL:

1. jdeps

http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jdeps.html

2. Compactプロファイルについて

http://www.oracle.com/technetwork/java/embedded/resources/tech/compact-profiles-overview-2157132.html?ssSourceSiteId=otnjp

3. CompactプロファイルのFootprint

http://www.oracle.com/technetwork/java/embedded/resources/se-embeddocs/index.html#sysreqs

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

日本オラクルのエンベデッドJavaチームから、最新情報をお送りしていきます。

Search

Archives
« 3月 2015
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    
       
Today