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\примеры\компилятор.

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 Runtime для запуска приложения.

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

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

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

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

Создайте пакет Java с помощью compiler.build.javaPackage команда. Используйте аргументы имя-значение, чтобы задать имя пакета, добавить 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\примеры\компилятор.

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\примеры\компилятор.

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

  Results with properties:

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

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

  • doc папка

  • magicsquare.jar

  • GettingStarted.html

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

свернуть все

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

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

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

Карта классов, заданная как containers.Map объект. Ключи 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. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа 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. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа 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. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

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

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

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

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

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

свернуть все

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

  • Тип сборки, который 'javaPackage'

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

  • Опции сборки, заданные как JavaPackageOptions объект

Введенный в R2021a