Сгенерируйте пакет Java и создайте приложение Java

Поддерживаемые платформы: Windows®, Linux®, Mac

В этом примере показано, как создать Java® пакет из MATLAB® функционируйте и сгенерируйте демонстрационный код Java.

Необходимые условия

Создание функции в MATLAB

В 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 с помощью приложения Library Compiler. В качестве альтернативы, если вы хотите создать пакет Java из окна команды MATLAB с помощью программируемого подхода, смотрите, Создают Пакет Java Используя compiler.build.javaPackage.

  1. На вкладке MATLAB Apps, на ультраправом из раздела Apps, кликают по стреле. В Application Deployment нажмите Library Compiler.

    В качестве альтернативы можно открыть приложение Library Compiler из командной строки MATLAB путем ввода:

    libraryCompiler

    Compiler tab with the Library Compiler app open

  2. В разделе Type панели инструментов нажмите Java Package.

    В окне проекта приложения Library Compiler задайте файлы приложения MATLAB, которое вы хотите развернуть.

    1. В разделе Exported Functions панели инструментов щелкнутьAdd exported function to the project.

    2. В окне Add Files просмотрите к папке в качестве примера и выберите функцию, которую вы хотите группировать. Нажмите Open.

    Функция добавляется к списку экспортируемых файлов функции. Повторите этот шаг, чтобы группировать несколько файлов в том же приложении.

    В данном примере выберите файл makesqr.m.

  3. В разделе Packaging Options панели инструментов решите, включать ли инсталлятор MATLAB Runtime в сгенерированное приложение путем выбора одной из опций:

    • Runtime downloaded from web — Сгенерируйте инсталлятор, который загружает MATLAB Runtime и устанавливает его наряду с развернутым приложением MATLAB. Можно задать имя файла инсталлятора.

    • Runtime included in package — Сгенерируйте приложение, которое включает инсталлятор MATLAB Runtime. Можно задать имя файла инсталлятора.

      Примечание

      В первый раз, когда вы выбираете эту опцию, вам предлагают загрузить инсталлятор MATLAB Runtime.

Задайте настройки пакета

Затем задайте имя своего пакета Java и проверьте отображение класса для .m файл, который вы встраиваете в свое приложение.

  1. Выберите имя для своего пакета. Поле Library Name автоматически заполняется с makesqr как имя пакета. То же имя выполняется на шагах реализации пакета ниже.

  2. Проверьте что функция, определяемая в makesqr.m сопоставлен в Class1.

    Class Name section is defined as 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 app open with Samples section expanded

Группируйте приложение

По окончании выбрав ваши упаковочные опции, сохраняете свой проект Library Compiler и генерируете пакетное приложение.

  1. Нажмите Package.

    В диалоговом окне Save Project задайте местоположение, чтобы сохранить проект.

  2. В диалоговом окне Package проверьте, что Open output folder when process completes выбран.

    Когда упаковочный процесс будет завершен, исследуйте сгенерированный выход в целевой папке.

    • Сгенерированы три папки: for_redistribution, for_redistribution_files_only, и for_testing.

      Для получения дополнительной информации о файлах, сгенерированных в этих папках, смотрите Файлы, Сгенерированные После Упаковки функций MATLAB.

    • Файл журнала PackagingLog.html содержит упаковочные результаты.

Создайте пакет Java Используя compiler.build.javaPackage

Как альтернатива приложению Library Compiler, можно создать пакет Java с помощью программируемого подхода. Если вы уже создали пакет с помощью Library Compiler, смотрите, Скомпилировали и запустили MATLAB Сгенерированное приложение Java.

  1. Сохраните путь к makesqr.m файл расположен в matlabroot\toolbox\javabuilder\Examples\MagicSquareExample\MagicDemoComp.

    appFile = fullfile(matlabroot,'toolbox','javabuilder','Examples', ...
        'MagicSquareExample','MagicDemoComp','makesqr.m');

  2. Сохраните следующий код в файле примера под названием makesqrSample1.m:

    x = 5;
    y = makesqr(x);

  3. Создайте пакет 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'— Отметьте, чтобы отобразить информацию о прогрессе, указывающую на выход компилятора во время процесса сборки.

Скомпилируйте и запустите MATLAB сгенерированное приложение Java

После создания вашего пакета Java можно вызвать его из приложения Java. Этот пример использует демонстрационный код Java, сгенерированный во время упаковки. Можно использовать этот демонстрационный код приложения Java в качестве руководства, чтобы записать собственное приложение Java.

  1. Скопируйте и вставьте сгенерированный файл Java makesqrSample1.java от samples папка в папку, которая содержит makesqr.jar пакет. Если вы использовали Library Compiler, makesqr.jar расположен в for_testing папка.

  2. В системной командной строке перейдите к папке, которая содержит makesqrSample1.java и makesqr.jar.

  3. Скомпилируйте приложение с помощью 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

      Замените matlabroot с путем к вашему MATLAB или папке установки MATLAB Runtime. Например, на Windows, путем может быть C:\Program Files\MATLAB\R2021b.

      Примечание

      Если makesqr.jar или makesqrSample1.java не находится в текущем каталоге, задайте полный или относительный путь в команде. Если путь содержит пробелы, окружите его двойными кавычками.

  4. Запустите приложение с помощью 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

Смотрите также

| | |

Похожие темы