Изучение 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 для конкретных платформ.