Создайте пакет 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 объекта. Вы не можете задать какие-либо другие опции, используя аргументы имя-значение.
Создайте пакет 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
Files - Файлы, реализующие функции MATLABФайлы, реализующие функции MATLAB, заданные как вектор символов, строковый скаляр, строковые массивы или массив ячеек векторов символов. Пути к файлам могут быть относительно текущей рабочей директории или абсолютными. Файлы должны иметь .m расширение.
Пример: ["myfunc1.m","myfunc2.m"]
Типы данных: char | string | cell
ClassMap - Карта классовcontainers.Map объектКарта классов, заданная как containers.Map объект. Ключи 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', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа 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', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа 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' - Образцы файлов MATLABMATLAB выборки файлов, используемых для генерации образцов файлов драйвера Java для функций, включенных в пакет, заданные как вектор символов, строковый скаляр, строковые массивы или массив ячеек из векторов символов. Пути к файлам могут быть относительно текущей рабочей директории или абсолютными. Файлы должны иметь .m расширение.
Пример: 'SampleGenerationFiles',["sample1.m","sample2.m"]
Типы данных: char | string | cell
'Verbose' - Флаг для управления подробностями сборки'off' (по умолчанию) | логическое значение включения/выключенияФлаг для управления подробностями сборки, заданный как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.
Если вы задаете это свойство равным 'on', затем в командном окне MATLAB отображается информация о прогрессе, указывающая на выход компилятора в процессе сборки.
Если вы задаете это свойство равным 'off'затем командное окно не отображает информацию о прогрессе.
Пример: 'Verbose','on'
Типы данных: logical
results - Результаты сборкиcompiler.build.Results объектРезультаты построения, возвращенные как compiler.build.Results объект. The Results объект содержит:
Тип сборки, который 'javaPackage'
Пути к скомпилированным файлам
Опции сборки, заданные как JavaPackageOptions объект
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.