メインコンテンツ

Java パッケージの生成と Java アプリケーションのビルド

サポートされるプラットフォーム: Windows®、Linux®Mac

この例では、MATLAB® 関数から Java® パッケージを作成し、そのパッケージを MATLAB Compiler SDK™ で生成された Java アプリケーションに統合する方法を説明します。

前提条件

  • MATLAB Compiler SDK と互換性のあるバージョンの Java がインストールされていることを確認します。サポートされている Java のバージョンについては、他の言語に対する MATLAB のインターフェイスを参照してください。

    インストール後における開発環境の構成の詳細については、Java パッケージの生成環境の構成を参照してください。

  • アプリケーションの実行には、エンド ユーザーによる MATLAB Runtime のインストールが必要です。詳細については、MATLAB Runtime のダウンロードとインストールを参照してください。

    テスト目的で、MATLAB Runtime の代わりに MATLAB のインストールを使用することができます。

MATLAB での関数の作成

MATLAB で、パッケージ化対象の MATLAB コードを調べます。この例では、以下のコードを含む、makesqr.m という名前の関数を作成します。

function y = makesqr(x)
y = magic(x);

MATLAB コマンド プロンプトで、makesqr(5) と入力します。

出力は 5 行 5 列の行列になります。

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

compiler.build.javaPackage を使用した Java パッケージの作成

プログラムによる方法を使用して Java パッケージをビルドします。あるいは、グラフィカル インターフェイスを使用して Java パッケージを作成する場合は、Create Java Package Using Java Package Compiler Appを参照してください。

  1. 関数を呼び出す MATLAB サンプル スクリプトを作成します。以下のコードを makesqrSample1.m という名前のサンプル ファイルに保存します。

    % Sample script to demonstrate execution of function y = makesqr(x)
    x = 5;
    y = makesqr(x);

    パッケージ化の際、MATLAB Compiler SDK はサンプル MATLAB スクリプトを使用して、ターゲット言語でサンプル アプリケーションを生成します。詳細については、Create Sample Code to Call Exported Functionを参照してください。

  2. compiler.build.javaPackage 関数と先ほど作成した makesqr.m ファイルを使用して Java パッケージをビルドします。名前と値の引数を使用してサンプル ファイルを追加し、詳細な出力を有効にします。

    buildResults = compiler.build.javaPackage('makesqr.m', ...
    'SampleGenerationFiles','makesqrSample1.m', ...
    'Verbose','on');

    compiler.build コマンドで名前と値の引数を使用して、追加オプションを指定できます。詳細については、compiler.build.javaPackage を参照してください。

    compiler.build.Results オブジェクト buildResults には、ビルド タイプ、生成ファイル、含まれるサポート パッケージ、およびビルド オプションに関する情報が含まれています。

    関数により、作業フォルダーの makesqrjavaPackage という名前のフォルダーに、以下のファイルとフォルダーが生成されます。

    • classes — Java クラス ファイルとデプロイ可能なアーカイブ CTF ファイルが含まれるフォルダー。

    • doc — パッケージ内にあるすべてのクラスの HTML ドキュメンテーションが含まれるフォルダー。

    • example — Java ソース コード ファイルが含まれるフォルダー。

    • samples — Java サンプル ドライバー ファイル makesqrSample1.java が含まれるフォルダー。

    • GettingStarted.html — パッケージの統合に関する情報が含まれるファイル。

    • includedSupportPackages.txt — パッケージに含まれるすべてのサポート ファイルをリストしたテキスト ファイル。

    • makesqr.jar — Java アーカイブ ファイル。

    • mccExcludedFiles.log — アプリケーションに含まれていないすべてのツールボックス関数のリストが含まれるログ ファイル。サポートされていない関数の詳細については、コンパイルでサポートされていない関数を参照してください。

    • readme.txt — デプロイの前提条件に関する情報と、デプロイ用にパッケージ化するファイルのリストが含まれるテキスト ファイル。

    • requiredMCRProducts.txtMATLAB Runtime がアプリケーションを実行するために必要な製品の製品 ID が含まれるテキスト ファイル。

    • unresolvedSymbols.txt — 未解決のシンボルに関する情報が含まれるテキスト ファイル。

    メモ

    生成されたパッケージに MATLAB Runtime やインストーラーは含まれていません。buildResults オブジェクトを使用してインストーラーを作成するには、compiler.package.installer を参照してください。

MATLAB により生成された Java アプリケーションのコンパイルと実行

Java パッケージの作成後、これを Java アプリケーションから呼び出すことができます。この例では、パッケージ化の際に生成されたサンプル Java コードを使用します。このサンプル Java アプリケーション コードは、独自のアプリケーションを記述するためのガイドとして使用できます。

  1. 生成された Java ファイル makesqrSample1.javasamples フォルダーからコピーして、makesqr.jar パッケージを含むフォルダーに貼り付けます。

  2. システム コマンド プロンプトで、makesqrSample1.javamakesqr.jar が含まれているフォルダーに移動します。

  3. javac を使用してアプリケーションをコンパイルします。引数 classpath に、com.mathworks.toolbox.javabuilder パッケージが含まれる javabuilder.jar へのパス、および Java パッケージ makesqr.jar を指定します。

    • Windows の場合、次を入力します。

      javac -classpath "matlabroot\toolbox\javabuilder\jar\javabuilder.jar";.\makesqr.jar makesqrSample1.java
    • UNIX® の場合、次を入力します。

      javac -classpath "matlabroot/toolbox/javabuilder/jar/javabuilder.jar":./makesqr.jar makesqrSample1.java

      matlabroot は、MATLAB または MATLAB Runtime のインストール フォルダーへのパスに置き換えてください。たとえば、Windows でのパスは C:\Program Files\MATLAB\R2025b のようになります。

      メモ

      makesqr.jar または makesqrSample1.java が現在のディレクトリでない場合は、コマンドで絶対パスまたは相対パスを指定します。パスにスペースが含まれている場合は、二重引用符で囲みます。

  4. java を使用してアプリケーションを実行します。

    • Windows の場合、次を入力します。

      java -classpath .;"matlabroot\toolbox\javabuilder\jar\javabuilder.jar";.\makesqr.jar makesqrSample1
    • UNIX の場合、次を入力します。

      java -classpath .:"matlabroot/toolbox/javabuilder/jar/javabuilder.jar":./makesqr.jar makesqrSample1

      メモ

      クラス パスの先頭にあるピリオド (.) は、現在の作業ディレクトリを表します。パスにない場合、Java がクラスを読み込めないというメッセージが表示されます。

    このアプリケーションはサンプルの MATLAB スクリプトと同じ出力を返します。

        17    24     1     8    15
        23     5     7    14    16
         4     6    13    20    22
        10    12    19    21     3
        11    18    25     2     9

参考

|

トピック