compiler.build.javaPackage

Создайте пакет Java для развертывания вне MATLAB

Описание

пример

compiler.build.javaPackage(Files) создает Java® пакет с помощью MATLAB® функции заданы Files. Прежде, чем создать пакеты Java, смотрите, Конфигурируют Вашу Среду Java.

пример

compiler.build.javaPackage(Files,Name,Value) создает пакет Java с дополнительными опциями, заданными с помощью одних или нескольких аргументов name-value. Опции включают имя класса, выводят директорию и дополнительные файлы, чтобы включать.

пример

compiler.build.javaPackage(ClassMap) создает пакет Java с классом, сопоставляющим заданное использование container.Map объект ClassMap.

пример

compiler.build.javaPackage(ClassMap,Name,Value) создает пакет Java с помощью ClassMap и дополнительные опции задали использование одних или нескольких аргументов name-value. Опции включают имя пакета, выводят директорию и дополнительные файлы, чтобы включать.

пример

compiler.build.javaPackage(opts) создает пакет Java с опциями, заданными с помощью compiler.build.JavaPackageOptions объект opts. Вы не можете задать никакие другие опции с помощью аргументов name-value.

пример

results = compiler.build.javaPackage(___) возвращает информацию о сборке как compiler.build.Results объект с помощью любой из комбинаций входных аргументов в предыдущих синтаксисах. Информация о сборке состоит из типа сборки, путей к скомпилированным файлам и опций сборки.

Примеры

свернуть все

Создайте пакет Java с помощью файла функции, который генерирует магический квадрат.

В MATLAB найдите функцию MATLAB, которую вы хотите развернуть как пакет Java. В данном примере используйте файл magicsquare.m расположенный в matlabroot\extern\examples\compiler.

appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');

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

compiler.build.javaPackage(appFile);

Этот синтаксис генерирует следующее в папке под названием magicsquarejavaPackage в вашей текущей рабочей директории:

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

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

  • examples — Папка, которая содержит файлы исходного кода Java.

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

  • includedSupportPackages.txt — Текстовый файл, который перечисляет все файлы поддержки, включенные в пакет.

  • magicsquare.jar — Архивный файл Java.

  • mccExcludedFiles.log — Файл журнала, который содержит список любых функций тулбокса, которые не были включены в приложение. Для получения информации о неподдерживаемых функциях смотрите Функции, Не Поддерживаемые Для Компиляции.

  • readme.txt — Файл Readme, который содержит информацию о необходимых условиях развертывания и списке файлов к пакету для развертывания.

  • requiredMCRProducts.txt — Текстовый файл, который содержит идентификаторы продукта продуктов, требуемых MATLAB Runtime запустить приложение.

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

Создайте пакет Java и настройте его с помощью аргументов name-value.

В данном примере используйте файлы flames.m и flames.mat расположенный в matlabroot\extern\examples\compiler.

appFile = fullfile(matlabroot,'extern','examples','compiler','flames.m');
MATFile = fullfile(matlabroot,'extern','examples','compiler','flames.mat');

Создайте пакет Java с помощью compiler.build.javaPackage команда. Используйте аргументы name-value, чтобы задать имя пакета, добавить MAT-файл и включить многословный выход.

compiler.build.javaPackage(appFile,'PackageName','JavaFlames',...
    'AdditionalFiles',MATFile,...
    'Verbose','on');

Создайте пакет Java с помощью карты класса и нескольких функций MATLAB.

Создайте containers.Map возразите, чьи ключи являются именами классов и чьи значения являются местоположениями файлов функции.

cmap = containers.Map;
cmap('Class1') = {'exampleFcn1.m','exampleFcn2.m'};
cmap('Class2') = {'exampleFcn3.m','exampleFcn4.m'};

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

compiler.build.javaPackage(cmap);

Можно также задать опции с помощью аргументов name-value, когда вы создаете пакет Java.

compiler.build.javaPackage(cmap,...
    'PackageName','ExamplePackage',...
    'Verbose','on');

Настройте несколько пакетов Java с помощью a compiler.build.JavaPackageOptions объект на Windows® система, чтобы задать общую выходную директорию, используйте отладочные символы и включите многословный выход.

В данном примере используйте файл magicsquare.m расположенный в matlabroot\extern\examples\compiler.

appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');

Создайте JavaPackageOptions объект с помощью appFile и дополнительные опции, заданные с помощью аргументов name-value.

opts = compiler.build.JavaPackageOptions(appFile,...
    'OutputDir','D:\Documents\MATLAB\work\JavaPackageBatch',...
    'DebugBuild','on',...
    'Verbose','on')
opts =

  JavaPackageOptions with properties:

               ClassMap: [1×1 containers.Map]
             DebugBuild: on
            PackageName: 'example.magicsquare'
  SampleGenerationFiles: {}
        AdditionalFiles: {}
    AutoDetectDataFiles: on
        SupportPackages: {'autodetect'}
                Verbose: on
              OutputDir: 'D:\Documents\MATLAB\work\JavaPackageBatch'

   Class Map Information
       magicsquareClass: {'C:\Program Files\MATLAB\R2021b\extern\examples\compiler\magicsquare.m'}

Создайте пакет Java с помощью JavaPackageOptions объект.

compiler.build.javaPackage(opts);

Скомпилировать использование файла функции hello.m с теми же опциями используйте запись через точку, чтобы изменить ClassMap из существующего JavaPackageOptions объект прежде, чем запустить сборку функционирует снова.

remove(opts.ClassMap, keys(opts.ClassMap));
opts.ClassMap('helloClass') = fullfile(matlabroot,'extern','examples','compiler','hello.m');
compiler.build.javaPackage(opts);

Путем изменения ClassMap аргумент и рекомпиляция, можно скомпилировать несколько компонентов с помощью того же объекта опций.

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

Компиляция с помощью файла magicsquare.m расположенный в matlabroot\extern\examples\compiler.

results = compiler.build.javaPackage('magicsquare.m')
results = 

  Results with properties:

              BuildType: 'javaPackage'
                  Files: {3×1 cell}
IncludedSupportPackages: {}
                Options: [1×1 compiler.build.JavaPackageOptions]

Files свойство содержит пути к следующему:

  • doc папка

  • magicsquare.jar

  • GettingStarted.html

Входные параметры

свернуть все

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

Пример: ["myfunc1.m","myfunc2.m"]

Типы данных: char | string | cell

Карта класса в виде containers.Map объект. Ключи карты являются именами классов, и каждое значение является набором файлов, сопоставленных с соответствующим классом. Файлы должны иметь .m расширение.

Пример: cmap

Пакет Java создает опции в виде a compiler.build.JavaPackageOptions объект.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Verbose','on'

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

Пример: 'AdditionalFiles',["myvars.mat","data.txt"]

Типы данных: char | string | cell

Отметьте, чтобы автоматически включать файлы данных в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

  • Если вы устанавливаете это свойство на 'on', затем файлы данных, которые вы предоставляете как входные параметры определенным функциям (такой как load и fopen) автоматически включены в пакет Java.

  • Если вы устанавливаете это свойство на 'off', затем необходимо добавить файлы данных в пакет с помощью AdditionalFiles свойство.

Пример: 'AutoDetectDataFiles','off'

Типы данных: логический

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

Значением по умолчанию является имя первого файла, перечисленного в Files аргумент добавлен с Class.

Пример: 'ClassName','magicsquareClass'

Типы данных: char | string

Отметьте, чтобы включить отладочные символы в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

  • Если вы устанавливаете это свойство на 'on', затем скомпилированный пакет содержит отладочные символы.

  • Если вы устанавливаете это свойство на 'off', затем скомпилированный пакет не содержит отладочные символы.

Пример: 'DebugBuild','on'

Типы данных: логический

Путь к выходной директории, где файлы типа "build" сохранены в виде вектора символов или строкового скаляра. Путь может быть относительно текущей рабочей директории или абсолюта.

Имя по умолчанию папки сборки является именем пакета, добавленным с javaPackage.

Пример: 'OutputDir','D:\Documents\MATLAB\work\mymagicjavaPackage'

Типы данных: char | string

Имя пакета Java в виде вектора символов или строкового скаляра. Задайте 'PackageName' как пространство имен, которое является разделенным от периода списком, таким как companyname.groupname.component. Имя сгенерированного пакета определяется к последней записи разделенного от периода списка. Имя должно начаться с буквы и содержать только буквенные символы и периоды.

Пример: 'PackageName','mathworks.javapackage.mymagic'

Типы данных: char | string

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

Пример: 'SampleGenerationFiles',["sample1.m","sample2.m"]

Типы данных: char | string | cell

Пакеты поддержки, чтобы включать в виде одной из следующих опций:

  • 'autodetect' (значение по умолчанию) — Процесс анализа зависимостей обнаруживает и включает необходимые пакеты поддержки автоматически.

  • 'none' — Никакие пакеты поддержки не включены. Используя эту опцию может вызвать ошибки периода выполнения.

  • Строковый скаляр, вектор символов или массив ячеек из символьных векторов — Только заданные пакеты поддержки включены. Чтобы перечислить установленные пакеты поддержки или используемых определенным файлом, смотрите compiler.codetools.deployableSupportPackages.

.

Пример: 'SupportPackages',{'Deep Learning Toolbox Converter for TensorFlow Models','Deep Learning Toolbox Model for Places365-GoogLeNet Network'}

Типы данных: char | string | cell

Отметьте, чтобы управлять многословием сборки в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

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

  • Если вы устанавливаете это свойство на 'off', затем командное окно не отображает информацию о прогрессе.

Пример: 'Verbose','on'

Типы данных: логический

Выходные аргументы

свернуть все

Создайте результаты, возвращенные как compiler.build.Results объект. Results объект содержит:

  • Создайте тип, который является 'javaPackage'

  • Пути к скомпилированным файлам

  • Список включенных пакетов поддержки

  • Создайте опции в виде JavaPackageOptions объект

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

Введенный в R2021a
Для просмотра документации необходимо авторизоваться на сайте