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を参照してください。
関数を呼び出す 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を参照してください。
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.txt
— MATLAB Runtime がアプリケーションを実行するために必要な製品の製品 ID が含まれるテキスト ファイル。unresolvedSymbols.txt
— 未解決のシンボルに関する情報が含まれるテキスト ファイル。
メモ
生成されたパッケージに MATLAB Runtime やインストーラーは含まれていません。
buildResults
オブジェクトを使用してインストーラーを作成するには、compiler.package.installer
を参照してください。
MATLAB により生成された Java アプリケーションのコンパイルと実行
Java パッケージの作成後、これを Java アプリケーションから呼び出すことができます。この例では、パッケージ化の際に生成されたサンプル Java コードを使用します。このサンプル Java アプリケーション コードは、独自のアプリケーションを記述するためのガイドとして使用できます。
生成された Java ファイル
makesqrSample1.java
をsamples
フォルダーからコピーして、makesqr.jar
パッケージを含むフォルダーに貼り付けます。システム コマンド プロンプトで、
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\R2025b
のようになります。メモ
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