Поддерживаемые платформы: Windows®, Linux®, Mac
В этом примере показано, как создать Java® пакет из MATLAB® функционируйте и сгенерируйте демонстрационный код Java.
Проверьте, что у вас есть версия Java, установленного, который совместим с MATLAB Compiler SDK™. Для получения информации о поддерживаемых версиях Java смотрите Интерфейсы MATLAB на Другие Языки.
Для получения информации о конфигурировании вашей среды разработки после установки смотрите, Конфигурируют Вашу Среду Java для Генерации Пакетов.
У конечных пользователей должна быть установка MATLAB Runtime, чтобы запустить приложение. Для получения дополнительной информации смотрите Установку и Сконфигурируйте MATLAB Runtime.
Для тестирования можно использовать установку MATLAB вместо MATLAB Runtime.
В MATLAB исследуйте код MATLAB, который вы хотите группировать. В данном примере открытый makesqr.m
расположенный в
.matlabroot
\toolbox\javabuilder\Examples\MagicSquareExample\MagicDemoComp
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 с помощью приложения Library Compiler. В качестве альтернативы, если вы хотите создать пакет Java из окна команды MATLAB с помощью программируемого подхода, смотрите, Создают Пакет Java Используя compiler.build.javaPackage.
На вкладке MATLAB Apps, на ультраправом из раздела Apps, кликают по стреле. В Application Deployment нажмите Library Compiler.
В качестве альтернативы можно открыть приложение Library Compiler из командной строки MATLAB путем ввода:
libraryCompiler
В разделе Type панели инструментов нажмите Java Package.
В окне проекта приложения Library Compiler задайте файлы приложения MATLAB, которое вы хотите развернуть.
В разделе Exported Functions панели инструментов щелкнуть.
В окне Add Files просмотрите к папке в качестве примера и выберите функцию, которую вы хотите группировать. Нажмите Open.
Функция добавляется к списку экспортируемых файлов функции. Повторите этот шаг, чтобы группировать несколько файлов в том же приложении.
В данном примере выберите файл makesqr.m
.
В разделе Packaging Options панели инструментов решите, включать ли инсталлятор MATLAB Runtime в сгенерированное приложение путем выбора одной из опций:
Runtime downloaded from web — Сгенерируйте инсталлятор, который загружает MATLAB Runtime и устанавливает его наряду с развернутым приложением MATLAB. Можно задать имя файла инсталлятора.
Runtime included in package — Сгенерируйте приложение, которое включает инсталлятор MATLAB Runtime. Можно задать имя файла инсталлятора.
Примечание
В первый раз, когда вы выбираете эту опцию, вам предлагают загрузить инсталлятор MATLAB Runtime.
Затем задайте имя своего пакета Java и проверьте отображение класса для .m
файл, который вы встраиваете в свое приложение.
Выберите имя для своего пакета. Поле Library Name автоматически заполняется с makesqr
как имя пакета. То же имя выполняется на шагах реализации пакета ниже.
Проверьте что функция, определяемая в makesqr.m
сопоставлен в Class1
.
Можно использовать любой файл MATLAB в проекте сгенерировать демонстрационные файлы драйвера Java. Несмотря на то, что файлы драйвера Java не необходимы, чтобы создать пакет, можно использовать их, чтобы реализовать приложение Java, как показано в Скомпилировали и запустили MATLAB Сгенерированное приложение Java.
В разделе Samples выберите Create New Sample и нажмите 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
, сохраните файл и возвратитесь к приложению Library Compiler. Компилятор преобразует этот код MATLAB в код Java во время упаковки.
Для получения дополнительной информации и ограничения, смотрите Демонстрационное Создание Файла Драйвера.
В приложении Library Compiler можно настроить инсталлятор, настроить приложение и добавить больше информации о приложении.
Информация о библиотеке Информация о развертываемом приложении. Можно также настроить внешний вид приложения путем изменения значка приложения и экрана-заставки. Сгенерированный установщик использует эту информацию, чтобы заполнить установленные метаданные приложений. Смотрите Настраивают Инсталлятор.
Additional installer options — Путь к стандартной установке для сгенерированного инсталлятора и пользовательского выбора логотипа. Смотрите Изменение Путь к Установке.
Files required for your library to run — Дополнительные требуемые для запуска сгенерированного приложения файлы. Эти файлы включены в сгенерированное установщиком приложения. Смотрите Управляют Необходимыми Файлами в Проекте Компилятора.
Files installed for your end user — Файлы, которые установлены с вашим приложением.
По окончании выбрав ваши упаковочные опции, сохраняете свой проект Library Compiler и генерируете пакетное приложение.
Нажмите Package.
В диалоговом окне Save Project задайте местоположение, чтобы сохранить проект.
В диалоговом окне Package проверьте, что Open output folder when process completes выбран.
Когда упаковочный процесс будет завершен, исследуйте сгенерированный выход в целевой папке.
Сгенерированы три папки: for_redistribution
, for_redistribution_files_only
, и for_testing
.
Для получения дополнительной информации о файлах, сгенерированных в этих папках, смотрите Файлы, Сгенерированные После Упаковки функций MATLAB.
Файл журнала PackagingLog.html
содержит упаковочные результаты.
compiler.build.javaPackage
Как альтернатива приложению Library Compiler, можно создать пакет Java с помощью программируемого подхода. Если вы уже создали пакет с помощью Library Compiler, смотрите, Скомпилировали и запустили MATLAB Сгенерированное приложение Java.
Сохраните путь к makesqr.m
файл расположен в
.matlabroot
\toolbox\javabuilder\Examples\MagicSquareExample\MagicDemoComp
appFile = fullfile(matlabroot,'toolbox','javabuilder','Examples', ... 'MagicSquareExample','MagicDemoComp','makesqr.m');
Сохраните следующий код в файле примера под названием makesqrSample1.m
:
x = 5; y = makesqr(x);
Создайте пакет Java с помощью compiler.build.javaPackage
функция. Используйте аргументы name-value, чтобы добавить файл примера и включить многословный выход.
buildResults = compiler.build.javaPackage(appFile, ... 'SampleGenerationFiles','makesqrSample1.m', ... 'Verbose','on');
compiler.build.Results
объект buildResults
содержит информацию о типе сборки, сгенерированных файлах и опциях сборки.
Функция генерирует следующее в папке под названием makesqrjavaPackage
в вашей текущей рабочей директории:
classes
— Папка, которая содержит файлы класса Java и развертываемый архивный файл CTF.
doc
— Папка, которая содержит документацию HTML для всех классов в пакете.
example
— Папка, которая содержит файлы исходного кода Java.
samples
— Папка, которая содержит демонстрационный файл драйвера Java makesqrSample1.java
.
GettingStarted.html
— Файл, который содержит информацию об интеграции вашего пакета.
makesqr.jar
— Архивный файл Java.
mccExcludedFiles.log
— Файл журнала, который содержит список любых функций тулбокса, которые не были включены в приложение. Для получения информации о неподдерживаемых функциях смотрите Функции, Не Поддерживаемые Для Компиляции.
readme.txt
— Текстовый файл, который содержит информацию о необходимых условиях развертывания и списке файлов к пакету для развертывания.
requiredMCRProducts.txt
— Текстовый файл, который содержит идентификаторы продукта продуктов, требуемых MATLAB Runtime запустить приложение.
unresolvedSymbols.txt
— Текстовый файл, который содержит информацию о неразрешенных символах.
Примечание
Сгенерированный пакет не включает MATLAB Runtime или инсталлятор. Создать инсталлятор, использующий buildResults
возразите, смотрите compiler.package.installer
.
Можно задать дополнительные опции в compiler.build
команда при помощи одного или нескольких следующих аргументов name-value:
'AdditionalFiles'
— Путь к дополнительным файлам и папкам, чтобы включать в пакет.
'AutoDetectDataFiles'
— Отметьте, чтобы автоматически включать файлы данных.
'ClassName'
— Имя класса Java.
'DebugBuild'
— Отметьте, чтобы включить отладочные символы.
'OutputDir'
— Путь к выходной директории, которая содержит сгенерированные файлы.
'PackageName'
— Имя сгенерированного пакета.
'SampleGenerationFiles'
— Файлы примера MATLAB раньше генерировали демонстрационные файлы пакета Java. Для получения дополнительной информации смотрите Демонстрационное Создание Файла Драйвера.
'Verbose'
— Отметьте, чтобы отобразить информацию о прогрессе, указывающую на выход компилятора во время процесса сборки.
После создания вашего пакета Java можно вызвать его из приложения Java. Этот пример использует демонстрационный код Java, сгенерированный во время упаковки. Можно использовать этот демонстрационный код приложения Java в качестве руководства, чтобы записать собственное приложение Java.
Скопируйте и вставьте сгенерированный файл Java makesqrSample1.java
от samples
папка в папку, которая содержит makesqr.jar
пакет. Если вы использовали Library Compiler, makesqr.jar
расположен в for_testing
папка.
В системной командной строке перейдите к папке, которая содержит makesqrSample1.java
и makesqr.jar
.
Скомпилируйте приложение с помощью javac
. В аргументе пути к классу вы задаете пути к javabuilder.jar
, который содержит com.mathworks.toolbox.javabuilder
пакет и ваш сгенерированный пакет 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
Замените
с путем к вашему MATLAB или папке установки MATLAB Runtime. Например, на Windows, путем может быть matlabroot
C:\Program Files\MATLAB\R2021b
.
Примечание
Если makesqr.jar
или makesqrSample1.java
не находится в текущем каталоге, задайте полный или относительный путь в команде. Если путь содержит пробелы, окружите его двойными кавычками.
Запустите приложение с помощью java
.
На Windows введите:
java -classpath .;"matlabroot
\toolbox\javabuilder\jar\javabuilder.jar";.\makesqr.jar makesqrSample1
На UNIX введите:
javac -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
libraryCompiler
| compiler.build.javaPackage
| mcc
| deploytool