Развертываемое архивное встраивание и экстракция

Панорама

Развертываемые архивные данные извлечены из файла JAR без отдельного развертываемого архива или packageNamemcr папка необходима на целевой машине. Это поведение полезно, когда пространство памяти в файловой системе ограничивается.

Если вы не хотите развертываемые архивные данные, извлеченные по умолчанию, используйте любого MWComponentOptions класс или переменные окружения использования, чтобы задать, как развертываемая архивная экстракция данных и использование обработаны.

Используйте класс 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).