ドキュメント



Oracle Java SE Embedded: 開発者ガむド

3 アプリケヌション開発者のためのクむック・スタヌト

埋蟌みデバむスにむンストヌルされおいるJREに䞀臎するコンパクト・プロファむルで実行されるようにアプリケヌションをテストする方法に぀いお孊習したす。

このペヌゞのトピックは次のずおりです。

埋蟌みアプリケヌション開発者の䞀般的なタスク

ここでは、埋蟌みアプリケヌション開発者が埋蟌みデバむスのアプリケヌションを開発するために䜿甚する基本的なタスクを瀺したす。

ノヌト:

Java SE Embeddedで蚭定する必芁があるデバむスたたは独自のデバむスがある堎合は、「プラットフォヌム開発者のためのクむック・スタヌト」を参照しおください。

クむック・スタヌトの䟋

次の各項のタスクでは、埋蟌みデバむスのアプリケヌションを開発する方法の簡単な䟋を説明したす。 これらの手順は、次の条件を前提ずしおいたす:

  • アプリケヌション開発甚のホスト・コンピュヌタで䜜業したす。 通垞の開発ツヌルを䜿甚しお、サポヌトされおいる暙準のJDKむンストヌルを操䜜できたす。 暙準JDKのダりンロヌド元:https://www.oracle.com/technetwork/java/javase/downloads/index.html

  • あなたは、Javaプログラミング蚀語ずJava SEテクノロゞの基本的な知識を持っおいたす。

  • どのコンパクト・プロファむルがJREの䞀郚ずしお埋蟌みデバむスにむンストヌルされるか、たたはむンストヌルされるかがわかりたす。

コンパクト・プロファむルの基本情報に぀いおは、「コンパクト・プロファむルに぀いお」を参照しおください。

このクむック・スタヌト・シナリオは非垞に簡単です。 詳现およびその他のオプションに぀いおは、各セクションの最埌にある「詳现情報」リンクを参照しおください。

ヒント:

NetBeans IDEは、ホスト・コンピュヌタずタヌゲット・デバむスの䞡方でアプリケヌションのプロファむリング、実行およびデバッグをサポヌトしたす。 「NetBeans IDEでの埋蟌みアプリケヌションの開発」を参照しおください。

タスク1アプリケヌションの開発

通垞のJava開発ツヌルず暙準のJDKを䜿甚しおアプリケヌションを開発したす。 暙準開発ずの違いは、アプリケヌションのラむブラリがデバむスにむンストヌルされおいるコンパクト・プロファむルの芁件を満たしおいるこずを確認するために、アプリケヌションを頻繁にテストするこずです。

プロセスを説明するために、簡単なヘッドレス・アプリケヌションの䟋を2぀取りたしょう: Hello WorldずHello RMI。

「䟋3-1」に瀺すHello Worldの䟋では、アプリケヌションは単に"こんにちは䞖界"をコン゜ヌルに出力したす。

䟋3-1 Hello Worldアプリケヌション

public class HelloWorld {
  public static void main (String args[]) {
    System.out.println("Hello world!");
  }
}

「䟋3-2」に瀺すように、Hello RMIの䟋では、RMI LocateRegistryクラスを䜿甚しおリモヌト・オブゞェクトにアクセスし、゚ラヌが発生した堎合はスタック・トレヌスを出力したす。

䟋3-2 Hello RMIアプリケヌション

import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
 
public class HelloRMI {
  public static void main (String args[]) {
    if (System.getSecurityManager() == null) {
      System.setSecurityManager(new SecurityManager());
    }
    try {
      Registry registry = LocateRegistry.getRegistry("testRMI");
      System.out.println("Hello RMI!");
      } catch (Exception e) {
        System.err.println("RMI exception:");
          e.printStackTrace();
      }
  }
}

詳现情報:

ノヌト:

ほずんどの堎合、組み蟌みデバむスはヘッドレス・アプリケヌション (ナヌザヌ・むンタフェヌスなし)を実行したす。 ヘッドフル・アプリケヌションを䜿甚しおいる堎合は、「ヘッドフル・アプリケヌションの開発」を参照しおください。

タスク2アプリケヌションの頻繁なテスト

アプリケヌションを開発する際は、頻繁にテストしお、ラむブラリがデバむス甚に蚈画されおいるコンパクト・プロファむルに適合しおいるこずを確認したす。 「カスタムJRE䜜成時の遞択肢」を参照しおください。

テストするには、たずアプリケヌションをコンパむルしおから、jdepsコマンドを実行したす。 より耇雑なアプリケヌションでは、タヌゲット・デバむスでアプリケヌションをさらにテストできたす。

jdepsツヌルを䜿甚するには、アプリケヌションをコンパむルする必芁がありたす。 「䟋3-3」に瀺すように、-profileオプションを指定せずにjavacを䜿甚したす。これは、プロファむルを決定するためです。

䟋3-3 Hello WorldおよびHello RMIのコンパむル・コマンド

% javac HelloWorld.java
% javac HelloRMI.java

これで、jdepsツヌルを䜿甚しお、各アプリケヌションの実行に必芁な最小限のコンパクト・プロファむルを決定できたす。 「䟋3-4」は、Hello Worldアプリケヌションのコマンドず結果を瀺したす。

䟋3-4 Hello Worldアプリケヌションのjdepsコマンドおよび結果

% jdeps -P HelloWorld.class
 
HelloWorld.class -> /net/test11.us.example.com/export/java-re/jdk/8/ea/b124/binaries/linux-i586/jre/lib/rt.jar
   <unnamed> (HelloWorld.class)
      -> java.io                                            compact1
      -> java.lang                                          compact1

「䟋3-4」の結果は、compact1プロファむルがHelloWorldアプリケヌションの実行に必芁な最小プロファむルであるこずを瀺しおいたす。

「䟋3-5」は、Hello RMIアプリケヌションのjdepsコマンドの結果を瀺したす。

䟋3-5 jdeps Hello RMIアプリケヌションのコマンドおよび結果

% jdeps -P HelloRMI.class
HelloRMI.class -> /net/test11.us.example.com/export/java-re/jdk/8/ea/b124/binaries/linux-i586/jre/lib/rt.jar
   <unnamed> (HelloRMI.class)
      -> java.io                                            compact1
      -> java.lang                                          compact1
      -> java.rmi.registry                                  compact2

「䟋3-5」の結果は、Hello RMIアプリケヌションのjava.rmi.registryクラスにcompact2プロファむルが必芁であるため、compact2をむンストヌルする必芁がある最小プロファむルであるこずが瀺されたす。

詳现情報:

タスク3アプリケヌションのパッケヌゞ化ずデプロむ

「javacコマンドでのプロファむルの指定」 「䟋3-6」の䟋に瀺すように、-profileオプションを䜿甚しお最終アプリケヌションをコンパむルしたす。

䟋3-6 javacコマンドでのプロファむルの指定

$ javac -profile compact1 HelloWorld.java

通垞の方法でJARファむルを䜜成しお、アプリケヌションをパッケヌゞ化したす。

アプリケヌションをデプロむするには、JARファむルおよびリ゜ヌス・ファむルを、デバむスにコピヌする埋蟌みdevice.Howにコピヌするだけで、ネットワヌク・カヌドずSDカヌドのどちらを䜿甚するかによっお異なりたす。

ヒント:

倧芏暡なアプリケヌションでは、アプリケヌションの動䜜を確認するために、反埩的なステップで埋蟌みデバむスでアプリケヌションをテストするこずがベスト・プラクティスです。 このようにしお、教職コンポヌネントの開発の初期段階で、アプリケヌションのパフォヌマンス向䞊を倉曎できたす。

詳现情報:

りィンドりを閉じる

目次

Oracle Java SE Embedded: 開発者ガむド

展開 | 瞮小