Explorando jrecreate
1. Introdução ao EJDK
O EJDK (Embedded Java Development Kit) foi introduzido pela Oracle para resolver o problema de fornecer binários para todas as plataformas incorporadas disponíveis. Podemos fazer download do EJDK mais recente deOracle’s site here.
Simplificando, ele contém as ferramentas para criar JREs específicos da plataforma.
2. jrecreate
EJDK fornecejrecreate.bat para Windows ejrecreate.sh para plataformas Unix / Linux. Essa ferramenta ajuda na montagem de JREs personalizados para plataformas que desejamos usar e foi introduzida em:
-
minimizar a liberação de binários da Oracle para todas as plataformas
-
facilita a criação de JREs customizados para outras plataformas
A seguinte sintaxe é usada para executar o comandojrecreate; em Unix / Linux:
$jrecreate.sh -
E no Windows:
$jrecreate.bat -
Observe que podemos adicionar várias opções para uma única criação de JRE. Agora, vamos dar uma olhada em algumas das opções disponíveis para a ferramenta.
3. Opções parajrecreate
3.1. Destino
A opçãodestination é necessária e especifica o diretório no qual o JRE de destino deve ser criado:
$jrecreate.sh -d /SampleJRE
Ao executar o comando acima, um JRE padrão será criado no local especificado. A saída da linha de comando será:
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
A partir do resultado acima, podemos ver que o JRE de destino é criado no diretório de destino especificado. Todas as outras opções assumiram seus valores padrão.
3.2. Perfis
A opçãoprofile é usada para gerenciar o tamanho do JRE de destino. Os perfis definem a funcionalidade da API a ser incluída. Se a opção de perfil não for especificada, a ferramenta incluirá todas as APIs do JRE por padrão:
$jrecreate.sh -d /SampleJRECompact1/ -p compact1
Um JRE com um perfilcompact1 será criado. Também podemos usar––profile em vez de-p no comando. A saída da linha de comando exibirá o seguinte resultado:
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
No resultado acima, observe que a opçãoruntime tem o valorcompact1. Observe também que o tamanho do resultado do JRE está abaixo de 11 MB, abaixo dos 55 MB no exemplo anterior.
Existem três opções disponíveis para a configuração do perfil:compact1,compact2, ecompact3.
3.3. JVMs
A opçãojvm é usada para personalizar nosso JRE de destino com JVMs específicos com base nas necessidades do usuário. Por padrão, inclui todas as JVMs disponíveis (cliente, servidor e mínimo) se as opçõesprofileejvm não forem especificadas:
$jrecreate.sh -d /SampleJREClientJVM/ --vm client
Um JRE comclient jvm será criado. A saída da linha de comando exibirá o seguinte resultado:
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
No resultado acima, observe que a opçãovm tem o valorClient. Também podemos especificar as outras JVMs comoservereminimal com esta opção.
3.4. Extensão
A opçãoextension é usada para incluir várias extensões permitidas no JRE de destino. Por padrão, não há extensões adicionadas:
$jrecreate.sh -d /SampleJRESunecExt/ -x sunec
Um JRE com umextension sunec (provedor de segurança para criptografia de curva elíptica) será criado. Também podemos usar––extension em vez de-x no comando. A saída da linha de comando exibirá o seguinte resultado:
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
No resultado acima, observe que a opçãoextension tem o valorsunec. Múltiplas extensões podem ser adicionadas com esta opção.
3.5. Outras opções
Além das opções principais discutidas acima,jrecreate também facilita aos usuários mais algumas opções:
-
––help: exibe um resumo das opções de linha de comando para a ferramenta jrecreate
-
––debug: cria JRE que tem suporte para depuração
-
––keep-debug-info: mantém as informações de depuração da classe e dos arquivos JAR não assinados
-
––dry-run: executa uma simulação sem realmente criar o JRE
-
––no-compression: cria um JRE com arquivos JAR não assinados em formato não compactado
-
––verbose: exibe a saída detalhada para todos os comandosjrecreate
4. Conclusão
Neste tutorial, aprendemos os fundamentos do EJDK e como a ferramentajrecreate é usada para gerar JREs específicos da plataforma.