exponenta event banner

compiler.build.javaPackage

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

Описание

пример

compiler.build.javaPackage(Files) создает пакет Java ® с использованием функций MATLAB ®, указанных вFiles. Перед созданием пакетов Java см. раздел Настройка среды Java.

пример

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

пример

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

пример

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

пример

compiler.build.javaPackage(opts) создает пакет Java с параметрами, заданными с помощью compiler.build.JavaPackageOptions объект opts. Другие параметры нельзя задать с помощью аргументов «имя-значение».

пример

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 - Файл, содержащий информацию об интеграции пакета.

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

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

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

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

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

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

Для этого примера используйте файл magicsquare.m расположен в matlabroot\extern\examples\compiler.

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

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

compiler.build.javaPackage(appFile,'PackageName','MyMagicSquare',...
    'AdditionalFiles','myvars.mat',...
    '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);

При построении пакета Java можно также задать параметры с помощью аргументов «имя-значение».

compiler.build.javaPackage(cmap,'PackageName','MyPackage',...
    'AdditionalFiles','myvars.mat',...
    'Verbose','on');

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

Для этого примера используйте файл magicsquare.m расположен в matlabroot\extern\examples\compiler.

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

Создать JavaPackageOptions объект с использованием appFile и дополнительные параметры, указанные с помощью аргументов «имя-значение».

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
                Verbose: on
              OutputDir: 'D:\Documents\MATLAB\work\JavaPackageBatch'

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

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

compiler.build.javaPackage(opts);

Компиляция с использованием файла функции myMagic2.m с теми же опциями, используйте точечную нотацию для изменения ClassMap существующих JavaPackageOptions перед повторным запуском функции построения.

remove(opts.ClassMap, keys(opts.ClassMap));
opts.ClassMap('myMagic2Class') = 'myMagic2.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}
              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, указанные как compiler.build.JavaPackageOptions объект.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми 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 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

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

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

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

Типы данных: logical

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

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

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

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

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

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

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

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

Типы данных: logical

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

Имя по умолчанию папки построения - это имя пакета, добавленное с 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

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

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

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

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

Типы данных: logical

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

свернуть все

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

  • Тип построения, который является 'javaPackage'

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

  • Параметры построения, указанные как JavaPackageOptions объект

Представлен в R2021a