Создайте пакет 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\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 Runtime запустить приложение.
unresolvedSymbols.txt
— Текстовый файл, который содержит информацию о неразрешенных символах.
Создайте пакет Java и настройте его с помощью аргументов значения имени.
В данном примере используйте файл magicsquare.m
расположенный в
.matlabroot
\extern\examples\compiler
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 с помощью a 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
— Пакет Java создает опцииcompiler.build.JavaPackageOptions
объектПакет Java создает опции в виде a 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
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Если вы устанавливаете это свойство на 'on'
, затем файлы данных, которые вы предоставляете как входные параметры определенным функциям (такой как load
и fopen
) автоматически включены в пакет Java.
Если вы устанавливаете это свойство на 'off'
, затем необходимо добавить файлы данных в пакет с помощью AdditionalFiles
свойство.
Пример: 'AutoDetectDataFiles','off'
Типы данных: логический
'ClassName'
— Имя класса JavaИмя класса Java в виде вектора символов или строкового скаляра. Вы не можете задать эту опцию, если вы используете ClassMap
входной параметр. Имена классов должны удовлетворить требования имени класса Java.
Значением по умолчанию является имя первого файла, перечисленного в Files
аргумент добавлен с Class
.
Пример: 'ClassName','magicsquareClass'
Типы данных: char |
string
'DebugBuild'
— Отметьте, чтобы включить отладочные символы'off'
(значение по умолчанию) | логическое значение включения - выключенияОтметьте, чтобы включить отладочные символы в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Если вы устанавливаете это свойство на 'on'
, затем скомпилированный пакет содержит отладочные символы.
Если вы устанавливаете это свойство на 'off'
, затем скомпилированный пакет не содержит отладочные символы.
Пример: 'DebugBuild','on'
Типы данных: логический
'OutputDir'
— Путь, чтобы вывести директориюПуть к выходной директории, где файлы типа "build" сохранены в виде вектора символов или строкового скаляра. Путь может быть относительно текущей рабочей директории или абсолюта.
Имя по умолчанию папки сборки является именем пакета, добавленным с 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'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Если вы устанавливаете это свойство на 'on'
, затем окно команды MATLAB отображает информацию о прогрессе, указывающую на выход компилятора во время процесса сборки.
Если вы устанавливаете это свойство на 'off'
, затем командное окно не отображает информацию о прогрессе.
Пример: 'Verbose','on'
Типы данных: логический
results
— Создайте результатыcompiler.build.Results
объектСоздайте результаты, возвращенные как compiler.build.Results
объект. Results
объект содержит:
Создайте тип, который является 'javaPackage'
Пути к скомпилированным файлам
Создайте опции в виде JavaPackageOptions
объект
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.