Развертываемые архивные данные извлечены из файла JAR без отдельного развертываемого архива или папки
, необходимой на целевой машине. Это поведение полезно, когда пространство памяти в файловой системе ограничивается. packageNamemcr
Если вы не хотите развертываемые архивные данные, извлеченные по умолчанию, используйте или класс 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\mcrCachen.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 только. | Не применяется |
MCR_CACHE_SIZE | Когда установлено, эта переменная заменяет размер кэша компонента по умолчанию. | Начальный предел для этой переменной 32M (мегабайты). Это может, однако, быть изменено после того, как вы установили переменную в первый раз. Отредактируйте файл .max_size , который находится в файле, определяемом путем выполнения команды mcrcachedir с желаемым пределом размера кэша. |
Извлекать развертываемый архив, компиляция с помощью опции -C
при вызове mcc
.
Можно также реализовать это переопределение путем ввода -C
в редактор Settings приложения Library Compiler.
Вы можете хотеть использовать эту опцию, чтобы диагностировать проблемы с развертываемым архивом, например, когда журнал и диагностические сообщения намного более видимы.
Для получения дополнительной информации о развертываемом архиве, смотрите Развертываемый Архив (MATLAB Compiler).