Создание пакета Java для развертывания вне MATLAB
compiler.build.javaPackage( создает пакет Java ® с использованием функций MATLAB ®, указанных вFiles)Files. Перед созданием пакетов Java см. раздел Настройка среды Java.
compiler.build.javaPackage( создает пакет Java с дополнительными параметрами, заданными с помощью одного или нескольких аргументов «имя-значение». Параметры включают имя класса, каталог вывода и дополнительные файлы для включения.Files,Name,Value)
compiler.build.javaPackage( создает пакет Java с сопоставлением классов, указанным с помощью ClassMap)container.Map объект ClassMap.
compiler.build.javaPackage( создает пакет Java с помощью ClassMap,Name,Value)ClassMap и дополнительные параметры, указанные с помощью одного или нескольких аргументов «имя-значение». Параметры включают имя пакета, каталог вывода и дополнительные файлы для включения.
compiler.build.javaPackage( создает пакет Java с параметрами, заданными с помощью opts)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
Files - Файлы, реализующие функции MATLABФайлы, реализующие функции MATLAB, указанные как символьный вектор, строковый скаляр, строковый массив или массив ячеек символьных векторов. Пути к файлам могут быть относительно текущей рабочей папки или абсолютными. Файлы должны иметь .m расширение.
Пример: ["myfunc1.m","myfunc2.m"]
Типы данных: char | string | cell
ClassMap - Карта классовcontainers.Map объектКарта классов, заданная как containers.Map объект. Ключи сопоставления - это имена классов, а каждое значение - это набор файлов, сопоставленных соответствующему классу. Файлы должны иметь .m расширение.
Пример: cmap
opts - Параметры сборки пакета Javacompiler.build.JavaPackageOptions объектПараметры сборки пакета Java, указанные как compiler.build.JavaPackageOptions объект.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'Verbose','on''AdditionalFiles' - Дополнительные файлыДополнительные файлы для включения в пакет Java, указанные как символьный вектор, строковый скаляр, строковый массив или массив ячеек символьных векторов. Пути к файлам могут быть относительно текущей рабочей папки или абсолютными.
Пример: 'AdditionalFiles',["myvars.mat","data.txt"]
Типы данных: char | string | cell
'AutoDetectDataFiles' - Флажок для автоматического включения файлов данных'on' (по умолчанию) | логическое значение on/offФлажок для автоматического включения файлов данных, указанный как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.
Если для этого свойства задано значение 'on', то файлы данных, которые вы предоставляете в качестве входных данных для определенных функций (таких как load и fopen) автоматически включаются в пакет Java.
Если для этого свойства задано значение 'off', то необходимо добавить файлы данных в пакет с помощью AdditionalFiles собственность.
Пример: 'AutoDetectDataFiles','off'
Типы данных: logical
'ClassName' - Имя класса JavaИмя класса Java, указанное как вектор символов или строковый скаляр. Этот параметр нельзя указать, если используется ClassMap вход. Имена классов должны соответствовать требованиям к именам классов Java.
Значением по умолчанию является имя первого файла, указанного в Files аргумент, добавленный с Class.
Пример: 'ClassName','magicsquareClass'
Типы данных: char | string
'DebugBuild' - Флаг для включения символов отладки'off' (по умолчанию) | логическое значение on/offФлаг для включения символов отладки, указанный как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.
Если для этого свойства задано значение 'on', то скомпилированный пакет содержит символы отладки.
Если для этого свойства задано значение 'off', то скомпилированный пакет не содержит символов отладки.
Пример: 'DebugBuild','on'
Типы данных: logical
'OutputDir' - Путь к выходному каталогуПуть к выходному каталогу, в котором сохраняются файлы построения, определяемый как вектор символов или строковый скаляр. Путь может быть относительно текущего рабочего каталога или абсолютным.
Имя по умолчанию папки построения - это имя пакета, добавленное с javaPackage.
Пример: 'OutputDir','D:\Documents\MATLAB\work\mymagicjavaPackage'
Типы данных: char | string
'PackageName' - Имя пакета JavaИмя пакета Java, указанное как вектор символов или скаляр строки. Определить 'PackageName' в качестве пространства имен, представляющего собой список, разделенный периодами, например companyname.groupname.component. Имя созданного пакета устанавливается в последнюю запись списка, разделенного на периоды. Имя должно начинаться с буквы и содержать только буквенные символы и точки.
Пример: 'PackageName','mathworks.javapackage.mymagic'
Типы данных: char | string
'SampleGenerationFiles' - Образцы файлов MATLABОбразцы файлов MATLAB, используемые для создания образцов файлов драйвера Java для функций, включенных в пакет, указанных как вектор символов, скаляр строк, массив строк или массив ячеек векторов символов. Пути к файлам могут быть относительно текущей рабочей папки или абсолютными. Файлы должны иметь .m расширение.
Пример: 'SampleGenerationFiles',["sample1.m","sample2.m"]
Типы данных: char | string | cell
'Verbose' - Флаг для контроля полноты построения'off' (по умолчанию) | логическое значение on/offФлаг для управления подробностью построения, указанный как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.
Если для этого свойства задано значение 'on'затем в окне команд MATLAB отображается информация о ходе выполнения, указывающая на вывод компилятора в процессе построения.
Если для этого свойства задано значение 'off', то командное окно не отображает информацию о ходе выполнения.
Пример: 'Verbose','on'
Типы данных: logical
results - Результаты построенияcompiler.build.Results объектРезультаты построения, возвращенные как compiler.build.Results объект. Results объект содержит:
Тип построения, который является 'javaPackage'
Пути к скомпилированным файлам
Параметры построения, указанные как JavaPackageOptions объект
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.