exponenta event banner

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

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

В этом примере показано, как создать пакет Java ®, использующий функцию MATLAB ®. Созданный пакет можно интегрировать в приложение Java. В этом примере также показано, как вызвать пакет Java из приложения Java. Для целевой системы не требуется лицензионная копия MATLAB.

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

В MATLAB проверьте код MATLAB, который требуется упаковать. Для этого примера откройте makesqr.m расположен в matlabroot\toolbox\javabuilder\Examples\MagicSquareExample\MagicDemoComp.

 makesqr.m

В командной строке MATLAB введите makesqr(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 с помощью приложения компилятора библиотеки

  1. На вкладке Приложения MATLAB (MATLAB Apps) в правой части раздела Приложения (Apps) щелкните стрелку. В разделе Развертывание приложения выберите Компилятор библиотеки.

    Также можно открыть приложение компилятора библиотеки из командной строки MATLAB, введя:

    libraryCompiler

  2. В разделе «Тип» панели инструментов выберите «Пакет Java».

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

    1. В разделе «Экспортированные функции» на панели инструментов нажмите кнопку.

    2. В окне Добавить файлы перейдите к папке-примеру и выберите функцию, которую требуется упаковать. Щелкните Открыть (Open).

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

    Для этого примера перейдите к matlabroot\toolbox\javabuilder\Examples\MagicSquareExample\MagicDemoComp и выбрать makesqr.m.

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

    • Среда выполнения, загруженная из Интернета - создание программы установки, которая загружает среду выполнения MATLAB и устанавливает ее вместе с развернутым приложением MATLAB. Можно указать имя файла установщика.

    • Среда выполнения, включенная в пакет - создание приложения, включающего установщик среды выполнения MATLAB. Можно указать имя файла установщика.

      Примечание

      При первом выборе этого параметра выводится запрос на загрузку установщика среды выполнения MATLAB.

Укажите параметры пакета

  1. Поле Имя библиотеки (Library Name) автоматически заполняется makesqr в качестве имени пакета. Это же название используется при осуществлении пакета.

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

  3. Добавьте файлы MATLAB для создания примеров файлов драйвера Java. Несмотря на то, что файлы драйверов Java не являются необходимыми для создания пакетов, они используются для демонстрации процесса установки и внедрения сгенерированного приложением Java приложения MATLAB.

    В разделе «Образцы» выберите «Создать новый образец» и нажмите makesqr.m. Откроется файл MATLAB для редактирования. Определите входные переменные, необходимые для приложения, сохраните файл и вернитесь в приложение компилятора библиотеки. Дополнительные сведения и ограничения см. в разделе Создание файла драйвера образца.

Настройка приложения и его внешнего вида

Можно настроить программу установки, настроить приложение и добавить дополнительные сведения о приложении следующим образом:

  • Сведения о библиотеке - сведения о развернутом приложении. Можно также настроить внешний вид приложения, изменив значок приложения и заставку. Созданная программа установки использует эту информацию для заполнения метаданных установленного приложения. См. раздел Настройка установщика.

  • Дополнительные параметры установщика - путь установки по умолчанию для созданного установщика и выбора пользовательского логотипа. См. раздел Изменение пути установки.

  • Файлы, необходимые для запуска библиотеки - дополнительные файлы, необходимые для запуска созданного приложения. Эти файлы включены в созданную программу установки приложения. См. раздел Управление необходимыми файлами в проекте компилятора.

  • Файлы, установленные для конечного пользователя - файлы, установленные в приложении.

    См. раздел Указание файлов для установки с приложением

Упакуйте приложение

  1. Чтобы создать упакованное приложение, щелкните Пакет.

    В диалоговом окне «Сохранение проекта» укажите местоположение для сохранения проекта.

  2. В диалоговом окне «Пакет» убедитесь, что выбрана опция «Открыть папку вывода по завершении процесса».

    После завершения процесса упаковки проверьте сгенерированные выходные данные.

    • В целевой папке создаются три папки: for_redistribution, for_redistribution_files_only, и for_testing.

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

    • PackagingLog.txt - Файл журнала, созданный MATLAB Compiler™.

Создание пакета Java с помощью compiler.build.javaPackage

Примечание

Если пакет Java уже создан с помощью приложения компилятора библиотеки, можно пропустить этот раздел. Однако для получения информации о создании пакета Java из окна команд MATLAB с использованием программного подхода выполните следующие инструкции.

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

    appFile = fullfile(matlabroot,'toolbox','javabuilder','Examples',...
        'MagicSquareExample','MagicDemoComp','makesqr.m');
  2. Сохранить следующий код в примере файла с именем makesqrSample1.m:

    x = 5;
    a = makesqr(x);

  3. Создайте пакет Java с помощью compiler.build.javaPackage функции и makesqr.m файл. Используйте аргументы «имя-значение», чтобы добавить образец файла и включить подробный вывод.

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

    compiler.build.Results объект buildResults содержит информацию о типе сборки, созданных файлах и параметрах сборки.

  4. Функция создает следующее в папке с именем makesqrjavaPackage в текущей рабочей папке:

    • classes - папка, содержащая файлы классов Java и развертываемый архивный файл CTF.

    • doc - папка, содержащая HTML-документацию для всех классов в пакете.

    • example - Папка, содержащая файлы исходного кода Java.

    • samples - Папка, содержащая файл образца драйвера Java makesqrSample1.java.

    • GettingStarted.html - Файл, содержащий информацию об интеграции пакета.

    • makesqr.jar - архивный файл Java.

    • mccExcludedFiles.log - файл журнала, содержащий список всех функций панели инструментов, которые не были включены в приложение. Сведения о неподдерживаемых функциях см. в разделе Функции, не поддерживаемые для компиляции.

    • readme.txt - текстовый файл, содержащий сведения о предпосылках развертывания и список файлов для пакета для развертывания.

    • requiredMCRProducts.txt - текстовый файл, содержащий идентификаторы продуктов, необходимых для выполнения приложения в среде выполнения MATLAB.

    • unresolvedSymbols.txt - текстовый файл, содержащий информацию о неразрешенных символах.

    Примечание

    Созданный пакет не включает среду выполнения MATLAB или программу установки.

  5. Вы можете указать дополнительные параметры в compiler.build используя один или несколько из следующих аргументов «имя-значение»:

    • 'AdditionalFiles' - путь к дополнительным файлам для включения в пакет.

    • 'AutoDetectDataFiles' - Флажок для автоматического включения файлов данных.

    • 'ClassName'- имя класса Java.

    • 'DebugBuild' - Флаг для включения символов отладки.

    • 'OutputDir' - путь к выходному каталогу, содержащему созданные файлы.

    • 'PackageName'- имя сформированного пакета.

    • 'SampleGenerationFiles'- образцы файлов MATLAB, используемые для создания образцов файлов пакетов Java. Дополнительные сведения см. в разделе Пример создания файла драйвера.

    • 'Verbose'- Флаг для отображения информации о ходе выполнения, указывающей на вывод компилятора в процессе построения.

Установка и внедрение приложения Java, созданного MATLAB

После создания пакетов Java их можно вызвать из приложения Java. Созданное приложение Java использует образец кода драйвера Java, созданного во время упаковки. Код драйвера Java вызывает пакеты Java и основан на образце файла MATLAB, выбранного на предыдущих шагах установки.

Эти шаги также объясняются в GettingStarted.html файл. Перед стартом удостоверьтесь, что Вы Устанавливаете и Настраиваете Время выполнения MATLAB, и что Вам установили Явское Средство разработки.

  1. Копирование и вставка созданного файла кода драйвера Java makesqrSample1.java от samples в папку, содержащую makesqr.jar файл.

  2. Используйте системную командную строку для перехода к папке, содержащей созданный образец файла кода драйвера Java, и makesqr.jar файл.

  3. Скомпилировать приложение с помощью javac в командной строке системы.

    javac -classpath "mcrroot\toolbox\javabuilder\jar\platform\javabuilder.jar";.\makesqr.jar .\getmagic.java

    Примечание

    На платформах UNIX ® используйте двоеточие (:) в качестве разделителя пути класса вместо точки с запятой (;).

    mcrroot путь к установке среды выполнения MATLAB в системе. Если в системе установлен MATLAB, можно использовать путь к установке MATLAB.

  4. В командной строке системы запустите приложение. Если на этапах упаковки использовался образец кода MATLAB, это приложение должно возвращать тот же результат, что и образец кода.

    java -classpath .;"mcrroot\toolbox\javabuilder\jar\platform\javabuilder.jar";.\makesqr.jar makesqrSample1
        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 не может загрузить класс.

    Примечание

    На платформах UNIX используйте двоеточие (:) в качестве разделителя пути класса вместо точки с запятой (;).

См. также

| | |