Изучаем

Изучение Jrecreate

1. Введение в EJDK

EJDK (Embedded Java Development Kit) был представлен Oracle для решения проблемы предоставления двоичных файлов для всех доступных встроенных платформ. Мы можем загрузить последнюю версию EJDK изOracle’s site here.

Проще говоря, он содержит инструменты для создания платформ JRE.

2. jrecreate

EJDK предоставляетjrecreate.bat для Windows иjrecreate.sh для платформ Unix / Linux. Этот инструмент помогает в сборке пользовательских JRE для платформ, которые мы хотим использовать, и был представлен для:

  • минимизировать выпуск двоичных файлов Oracle для каждой платформы

  • упростить создание индивидуальных JRE для других платформ

Следующий синтаксис используется для выполнения командыjrecreate; в Unix / Linux:

$jrecreate.sh -

И в Windows:

$jrecreate.bat -

Обратите внимание, мы можем добавить несколько вариантов для одного создания JRE. Теперь давайте посмотрим на некоторые параметры, доступные для этого инструмента.

3. Параметры дляjrecreate

3.1. Место назначения

Параметрdestination является обязательным и указывает каталог, в котором должна быть создана целевая JRE:

$jrecreate.sh -d /SampleJRE

При выполнении вышеупомянутой команды JRE по умолчанию будет создано в указанном месте. Вывод командной строки будет:

Building JRE using Options {
    ejdk-home: /installDir/ejdk1.8.0/bin/..
    dest: /SampleJRE
    target: linux_i586
    vm: all
    runtime: jre
    debug: false
    keep-debug-info: false
    no-compression: false
    dry-run: false
    verbose: false
    extension: []
}

Target JRE Size is 55,205 KB (on disk usage may be greater).
Embedded JRE created successfully

Из приведенного выше результата видно, что целевой JRE создается в указанном целевом каталоге. Все остальные параметры имеют свои значения по умолчанию.

3.2. профили

Параметрprofile используется для управления размером целевой JRE. Профили определяют функциональность API, который будет включен. Если опция профиля не указана, инструмент будет включать все API-интерфейсы JRE по умолчанию:

$jrecreate.sh -d /SampleJRECompact1/ -p compact1

Будет создана JRE с профилемcompact1. Мы также можем использовать––profile вместо-p в команде. Вывод командной строки будет отображать следующий результат:

Building JRE using Options {
    ejdk-home: /installDir/ejdk1.8.0/bin/..
    dest: /SampleJRECompact1
    target: linux_i586
    vm: minimal
    runtime: compact1 profile
    debug: false
    keep-debug-info: false
    no-compression: false
    dry-run: false
    verbose: false
    extension: []
}

Target JRE Size is 10,808 KB (on disk usage may be greater).
Embedded JRE created successfully

Обратите внимание, что в приведенном выше результате параметрruntime имеет значениеcompact1. Также обратите внимание, что размер JRE результата составляет чуть менее 11 МБ, по сравнению с 55 МБ в предыдущем примере.

Доступны три варианта настройки профиля:compact1,compact2, иcompact3..

3.3. JVMs

Параметрjvm используется для настройки нашей целевой JRE с конкретными JVM в зависимости от потребностей пользователя. По умолчанию он включает в себя все доступные JVM (клиентскую, серверную и минимальную), если не указаны параметрыprofile иjvm:

$jrecreate.sh -d /SampleJREClientJVM/ --vm client

Будет создана JRE с jvmclient. Вывод командной строки будет отображать следующий результат:

Building JRE using Options {
    ejdk-home: /installDir/ejdk1.8.0/bin/..
    dest: /SampleJREClientJVM
    target: linux_i586
    vm: Client
    runtime: jre
    debug: false
    keep-debug-info: false
    no-compression: false
    dry-run: false
    verbose: false
    extension: []
}

Target JRE Size is 46,217 KB (on disk usage may be greater).
Embedded JRE created successfully

Обратите внимание, что в приведенном выше результате параметрvm имеет значениеClient. Мы также можем указать другие JVM, такие какserver иminimal, с помощью этой опции.

3.4. расширение

Параметрextension используется для включения различных разрешенных расширений целевой JRE. По умолчанию расширения не добавляются:

$jrecreate.sh -d /SampleJRESunecExt/ -x sunec

Будет создана JRE с sunecextension (провайдер безопасности для криптографии с эллиптическими кривыми). Мы также можем использовать––extension вместо-x в команде. Вывод командной строки будет отображать следующий результат:

Building JRE using Options {
    ejdk-home: /installDir/ejdk1.8.0/bin/..
    dest: /SampleJRESunecExt
    target: linux_i586
    vm: all
    runtime: jre
    debug: false
    keep-debug-info: false
    no-compression: false
    dry-run: false
    verbose: false
    extension: [sunec]
}

Target JRE Size is 55,462 KB (on disk usage may be greater).
Embedded JRE created successfully

Обратите внимание, что в приведенном выше результате параметрextension имеет значениеsunec. Несколько расширений могут быть добавлены с этой опцией.

3.5. Другие опции

Помимо основных опций, рассмотренных выше,jrecreate также предоставляет пользователям еще несколько опций:

  • ––help: отображает сводку параметров командной строки для инструмента jrecreate

  • ––debug: создает JRE с поддержкой отладки

  • ––keep-debug-info: сохраняет отладочную информацию из классов и неподписанных файлов JAR

  • ––dry-run: выполняет пробный запуск без фактического создания JRE

  • ––no-compression: создает JRE с неподписанными файлами JAR в несжатом формате

  • ––verbose: отображает подробный вывод для всех командjrecreate

4. Заключение

В этом руководстве мы изучили основы EJDK и то, как инструментjrecreate используется для создания JRE для конкретных платформ.