Java パッケージの生成と Java アプリケーションのビルド
サポートされるプラットフォーム: Windows®、Linux®、Mac
この例では、MATLAB® 関数から Java® パッケージを作成し、サンプル Java コードを生成する方法を説明します。
前提条件
MATLAB Compiler SDK™ と互換性のあるバージョンの Java がインストールされていることを確認します。サポートされている Java のバージョンについては、他の言語に対する MATLAB のインターフェイスを参照してください。
インストール後における開発環境の構成の詳細については、Java パッケージの生成環境の構成を参照してください。
アプリケーションの実行には、エンド ユーザーによる MATLAB Runtime のインストールが必要です。詳細については、MATLAB Runtime のインストールと構成を参照してください。
テスト目的で、MATLAB Runtime の代わりに MATLAB のインストールを使用することができます。
MATLAB での関数の作成
MATLAB で、パッケージ化対象の MATLAB コードを調べます。この例では、
にある matlabroot
\toolbox\javabuilder\Examples\MagicSquareExample\MagicDemoCompmakesqr.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
ライブラリ コンパイラ アプリを使用した Java パッケージの作成
ライブラリ コンパイラ アプリを使用して、関数を Java パッケージにコンパイルします。あるいは、プログラムによる方法で MATLAB コマンド ウィンドウから Java パッケージを作成する場合は、compiler.build.javaPackage を使用した Java パッケージの作成を参照してください。
[MATLAB アプリ] タブで、[アプリ] セクションの右端にある矢印をクリックします。[アプリケーションのデプロイ] で、[ライブラリ コンパイラ] をクリックします。
または、MATLAB コマンド プロンプトで以下を入力して、[ライブラリ コンパイラ] アプリを開きます。
libraryCompiler
ツールストリップの [タイプ] セクションで、[Java パッケージ] をクリックします。
ライブラリ コンパイラ アプリのプロジェクト ウィンドウで、デプロイする MATLAB アプリケーションのファイルを指定します。
ツールストリップの [エクスポートする関数] セクションで、 をクリックします。
[ファイルの追加] ウィンドウで、サンプルのフォルダーを参照し、パッケージ化する関数を選択します。[開く] をクリックします。
エクスポートする関数ファイルのリストに関数が追加されます。同じアプリケーションに複数のファイルをパッケージ化するには、この手順を繰り返します。
この例では、
makesqr.m
ファイルを選択します。ツールストリップの [パッケージ化オプション] セクションで次のオプションのいずれかを選択して、生成されるアプリケーションに MATLAB Runtime インストーラーを含めるかどうかを決定します。
ランタイムを Web からダウンロード — MATLAB Runtime をダウンロードしてデプロイされた MATLAB アプリケーションと共にインストールするインストーラーを生成します。インストーラーのファイル名を指定できます。
ランタイムをパッケージに含める — MATLAB Runtime インストーラーを含むアプリケーションを生成します。インストーラーのファイル名を指定できます。
メモ
このオプションを初めて選択したときに、MATLAB Runtime インストーラーをダウンロードするように求めるメッセージが表示されます。
パッケージ設定の指定
次に、Java パッケージの名前を定義し、アプリケーションにビルドする .m
ファイルのクラス マッピングを確認します。
パッケージの名前を選択します。[ライブラリ名] フィールドに、パッケージの名前として
makesqr
が自動的に入力されます。同じ名前が、以下のパッケージ実装の手順全体で使用されます。makesqr.m
で定義された関数がClass1
にマッピングされていることを確認します。
サンプル ドライバー ファイルの作成
プロジェクトの任意の MATLAB ファイルを使用して、サンプル Java ドライバー ファイルを生成できます。Java ドライバー ファイルはパッケージの作成に必須ではありませんが、MATLAB により生成された Java アプリケーションのコンパイルと実行で示すように、これらを使用して Java アプリケーションを実装することができます。
[サンプル] セクションで、[新規サンプルの作成] を選択して makesqr.m
をクリックします。MATLAB ファイルが編集用に開きます。
% Sample script to demonstrate execution of function y = makesqr(x) x = 0; % Initialize x here y = makesqr(x);
x = 0
を x = 5
に変更し、ファイルを保存して、[ライブラリ コンパイラ] アプリに戻ります。
注意
目的の結果を出力するには MATLAB サンプル ファイルを編集する必要があります。生成されたターゲット言語のサンプル ファイルは、サンプル MATLAB ファイルと同じ入力と出力を使用します。
コンパイラにより、パッケージ化の際にこの MATLAB コードが Java コードに変換されます。詳細と制限については、サンプル ドライバー ファイルの作成を参照してください。
アプリケーションとその外観のカスタマイズ
ライブラリ コンパイラ アプリでは、インストーラーをカスタマイズし、アプリケーションをカスタマイズし、アプリケーションについて情報を追加することができます。
ライブラリ情報 — デプロイされるアプリケーションに関する情報。また、アプリケーション アイコンとスプラッシュ スクリーンを変更して、アプリケーションの外観をカスタマイズすることもできます。生成されるインストーラーはこの情報を使用して、インストールされるアプリケーションのメタデータを入力します。インストーラーのカスタマイズを参照してください。
追加インストーラー オプション — 生成されるインストーラーの既定のインストール パスと、カスタム ロゴの選択。インストール パスの変更を参照してください。
ライブラリの実行に必要なファイル — 生成されるアプリケーションを実行するために必要な追加ファイル。これらのファイルは、生成されるアプリケーション インストーラーに含められます。コンパイラ プロジェクトの必須ファイルの管理を参照してください。
エンド ユーザー用にインストールされるファイル — アプリケーションと共にインストールされるファイル。
アプリケーションと共にインストールするファイルの指定を参照してください。
アプリケーションのパッケージ化
パッケージ化オプションの選択が終了したら、ライブラリ コンパイラのプロジェクトを保存し、パッケージ化されたアプリケーションを生成します。
[パッケージ化] をクリックします。
[プロジェクトを保存] ダイアログ ボックスで、プロジェクトを保存する場所を指定します。
[パッケージ] ダイアログ ボックスで、[プロセスが完了したら出力フォルダーを開く] が選択されていることを確認します。
パッケージ化プロセスが完了したら、ターゲット フォルダー内の生成された出力を調べます。
3 つのフォルダー
for_redistribution
、for_redistribution_files_only
、およびfor_testing
が生成されます。これらのフォルダーに生成されるファイルの詳細については、MATLAB 関数のパッケージ化後に生成されるファイルを参照してください。
ログ ファイル
PackagingLog.html
にはパッケージ化の結果が含まれています。
compiler.build.javaPackage を使用した Java
パッケージの作成
ライブラリ コンパイラ アプリの代わりに、プログラムによる方法を使用して Java パッケージを作成することができます。ライブラリ コンパイラを使用してパッケージが既に作成されている場合は、MATLAB により生成された Java アプリケーションのコンパイルと実行を参照してください。
にあるmatlabroot
\toolbox\javabuilder\Examples\MagicSquareExample\MagicDemoCompmakesqr.m
ファイルへのパスを保存します。appFile = fullfile(matlabroot,'toolbox','javabuilder','Examples', ... 'MagicSquareExample','MagicDemoComp','makesqr.m');
以下のコードを
makesqrSample1.m
という名前のサンプル ファイルに保存します。x = 5; y = makesqr(x);
関数
compiler.build.javaPackage
を使用して Java パッケージをビルドします。名前と値の引数を使用してサンプル ファイルを追加し、詳細な出力を有効にします。buildResults = compiler.build.javaPackage(appFile, ... '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.txt
— MATLAB Runtime がアプリケーションを実行するために必要な製品の製品 ID が含まれるテキスト ファイル。unresolvedSymbols.txt
— 未解決のシンボルに関する情報が含まれるテキスト ファイル。
メモ
生成されたパッケージに MATLAB Runtime やインストーラーは含まれていません。
buildResults
オブジェクトを使用してインストーラーを作成するには、compiler.package.installer
を参照してください。
MATLAB により生成された Java アプリケーションのコンパイルと実行
Java パッケージの作成後、これを Java アプリケーションから呼び出すことができます。この例では、パッケージ化の際に生成されたサンプル Java コードを使用します。このサンプル Java アプリケーション コードは、独自のアプリケーションを記述するためのガイドとして使用できます。
生成された Java ファイル
makesqrSample1.java
をsamples
フォルダーからコピーして、makesqr.jar
パッケージを含むフォルダーに貼り付けます。ライブラリ コンパイラを使用した場合、makesqr.jar
はfor_testing
フォルダー内にあります。システム コマンド プロンプトで、
makesqrSample1.java
とmakesqr.jar
が含まれているフォルダーに移動します。javac
を使用してアプリケーションをコンパイルします。引数 classpath に、com.mathworks.toolbox.javabuilder
パッケージが含まれるjavabuilder.jar
へのパス、および Java パッケージmakesqr.jar
を指定します。Windows の場合、次を入力します。
javac -classpath "
matlabroot
\toolbox\javabuilder\jar\javabuilder.jar";.\makesqr.jar makesqrSample1.javaUNIX® の場合、次を入力します。
javac -classpath "
matlabroot
/toolbox/javabuilder/jar/javabuilder.jar":./makesqr.jar makesqrSample1.java
は、MATLAB または MATLAB Runtime のインストール フォルダーへのパスに置き換えてください。たとえば、Windows でのパスはmatlabroot
C:\Program Files\MATLAB\R2024a
のようになります。メモ
makesqr.jar
またはmakesqrSample1.java
が現在のディレクトリでない場合は、コマンドで絶対パスまたは相対パスを指定します。パスにスペースが含まれている場合は、二重引用符で囲みます。
java
を使用してアプリケーションを実行します。Windows の場合、次を入力します。
java -classpath .;"
matlabroot
\toolbox\javabuilder\jar\javabuilder.jar";.\makesqr.jar makesqrSample1UNIX の場合、次を入力します。
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
参考
ライブラリ コンパイラ | compiler.build.javaPackage
| mcc
| deploytool