Развертываемые архивные данные извлекаются из файла JAR без отдельного развертываемого архива или
папка, необходимая на целевой машине. Такое поведение полезно, когда пространство памяти в файл системе ограничено. packageName
-mcr
Если вы не хотите, чтобы развертываемые архивные данные были извлечены по умолчанию, используйте MWComponentOptions
класс, или использовать переменные окружения, чтобы указать, как обрабатывается извлечение и использование развертываемых архивных данных.
Выберите из следующего CtfSource
или ExtractLocation
опции экземпляра для настройки управления развертываемым архивным содержимым с помощью MWComponentOptions
:
CtfSource
- Эта опция определяет, где можно найти развертываемый архив для извлеченного компонента. Он задает поток двоичных данных, состоящий из бит развертываемого архива. Следующие значения являются объектами некоторого типа, расширяющимися MWCtfSource
:
MWCtfSource.NONE
- Указывает, что развертываемый архив не должен быть извлечен. Это означает, что извлеченные развернутые архивные данные уже доступны где-то в вашей файловой системе. Это открытый, статический, конечный образец MWCtfSource
.
MWCtfFileSource
- Указывает, что развертываемые архивные данные находятся в указанном местоположении файла. Этот класс принимает java.io.File
объект в его конструкторе.
MWCtfDirectorySource
- Указывает папку, которая будет проверяться при создании экземпляра компонента: если файл с .ctf
суффикс находится в папке, которую вы поставляете, развертываемые архивные биты загружаются из этого файла. Этот класс принимает java.io.File
объект в его конструкторе.
MWCtfStreamSource
- Позволяет считывать и извлекать развертываемые архивные биты непосредственно из заданного входного потока. Этот класс принимает java.io.InputStream
объект в его конструкторе.
ExtractLocation
- Эта опция задаёт, где должно находиться извлеченное развертываемое архивное содержимое. Начиная с MATLAB® Runtime требует, чтобы все развертываемое архивное содержимое находилось где-то в вашей файловой системе, используйте нужную ExtractLocation
опция, наряду с информацией о типе компонента, чтобы задать уникальное расположение. Значение для этой опции является образцом класса MWCtfExtractLocation
. Образец этого класса может быть создан путем передачи java.io.File
или java.lang.String
в конструктор для определения местоположения файловой системы, которая будет использоваться, или можно использовать один из этих предопределенных, статических конечных образцов:
MWCtfExtractLocation.EXTRACT_TO_CACHE
- Используется, чтобы указать, что развертываемое архивное содержимое должно быть помещено в кэш компонента MATLAB Runtime. Это настройка по умолчанию для R2007a и вперед.
MWCtfExtractLocation.EXTRACT_TO_COMPONENT_DIR
- Используйте, когда вы хотите найти JAR или .class
файлы, из которых был загружен компонент. Если местоположение найдено (например, оно находится в файловой системе), то развертываемые архивные данные извлекаются в ту же папку. Эта опция наиболее точно соответствует поведению R2007a и предыдущих релизов.
Примечание
Развертываемые архивы по умолчанию извлекаются в
.temp
\user_name
\ mcrCache n
. nn
Используйте следующие методы, чтобы получить или задать местоположение, где развертываемый архив может быть найден для извлеченного компонента:
getCtfSource()
setCtfSource()
Используйте следующие методы, чтобы получить или задать местоположение, где должно быть найдено извлеченное развертываемое архивное содержимое:
getExtractLocation()
setExtractLocation()
Включение кэша компонентов MATLAB Runtime, использование развертываемого архивного содержимого уже в вашей системе. Если вы хотите включить кэш компонента MATLAB Runtime для сгенерированного Java® класс с использованием развертываемого архивного содержимого, уже находящегося в вашей файловой системе, экземпляр MWComponentOptions
используя следующие операторы:
MWComponentOptions options = new MWComponentOptions(); // set options for the class by calling setter methods // on 'options' options.setCtfSource(MWCtfSource.NONE); options.setExtractLocation( new MWCtfExtractLocation("C:\\readonlydir\\MyModel_mcr")); // instantiate the class using the desired options MyModel m = new MyModel(options);
Для изменения этих настроек используйте следующие переменные окружения.
Переменная окружения | Цель | Примечания |
---|---|---|
MCR_CACHE_ROOT | При установке местоположения, в котором требуется извлечь развертываемый архив, эта переменная переопределяет расположение кэша компонента по умолчанию для каждого пользователя. Это верно для встроенных .ctf только файлы. | В macOS эта переменная игнорируется в MATLAB R2020a и более поздних версиях. Пакет приложений содержит файлы, необходимые для выполнения. |
MCR_CACHE_SIZE | Когда задан, эта переменная переопределяет размер кэша компонента по умолчанию. | Начальный предел для этой переменной составляет 32M (мегабайт). Однако это может быть изменено после того, как вы установите переменную первый раз. Отредактируйте файл .max_size , который находится в файле, обозначенном запуском mcrcachedir Команда, с желаемым пределом размера кэша. |
Чтобы извлечь развертываемый архив, скомпилируйте с помощью -C
опция при вызове mcc
.
Вы также можете реализовать это переопределение путем ввода -C
в Settings редакторе приложения Library Compiler.
Можно хотеть использовать эту опцию для устранения проблем с развертываемым архивом, например, поскольку журналы и диагностические сообщения гораздо более видны.
Дополнительные сведения о развертываемом архиве см. в разделе Развертываемый архив.