Explorer jrecreate

Explorer jrecreate

1. Introduction à EJDK

Le kit de développement Java intégré (EJDK) a été introduit par Oracle pour résoudre le problème de la fourniture de fichiers binaires pour toutes les plates-formes intégrées disponibles. Nous pouvons télécharger le dernier EJDK à partir deOracle’s site here.

En bref, il contient les outils permettant de créer des JRE spécifiques à une plate-forme.

2. recréer

EJDK fournitjrecreate.bat pour Windows etjrecreate.sh pour les plates-formes Unix / Linux. Cet outil facilite l’assemblage de JRE personnalisés pour les plates-formes que nous souhaitons utiliser. Il a été présenté à:

  • minimiser la publication des fichiers binaires par Oracle pour chaque plate-forme

  • faciliter la création de JRE personnalisés pour d'autres plateformes

La syntaxe suivante est utilisée pour exécuter la commandejrecreate; sous Unix / Linux:

$jrecreate.sh -

Et sous Windows:

$jrecreate.bat -

Notez que nous pouvons ajouter plusieurs options pour une seule création JRE. Voyons maintenant quelques-unes des options disponibles pour l'outil.

3. Options pourjrecreate

3.1. Destination

L'optiondestination est obligatoire et spécifie le répertoire dans lequel le JRE cible doit être créé:

$jrecreate.sh -d /SampleJRE

Lors de l'exécution de la commande ci-dessus, un JRE par défaut sera créé à l'emplacement spécifié. Le résultat en ligne de commande sera:

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

D'après le résultat ci-dessus, nous pouvons voir que le JRE cible est créé dans le répertoire de destination spécifié. Toutes les autres options ont pris leurs valeurs par défaut.

3.2. Profils

L'optionprofile est utilisée pour gérer la taille du JRE cible. Les profils définissent les fonctionnalités de l'API à inclure. Si l'option de profil n'est pas spécifiée, l'outil inclura toutes les API JRE par défaut:

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

Un JRE avec un profilcompact1 sera créé. Nous pouvons également utiliser––profile au lieu de-p dans la commande. La sortie en ligne de commande affichera le résultat suivant:

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

Dans le résultat ci-dessus, notez que l'optionruntime a la valeurcompact1. Notez également que la taille du résultat JRE est légèrement inférieure à 11 Mo, contre 55 Mo dans l'exemple précédent.

Il existe trois options disponibles pour le paramètre de profil:compact1,compact2, etcompact3.

3.3. JVMs

L'optionjvm est utilisée pour personnaliser notre JRE cible avec des JVM spécifiques en fonction des besoins de l'utilisateur. Par défaut, il inclut toutes les JVM disponibles (client, serveur et minimal) si les optionsprofile etjvm ne sont pas spécifiées:

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

Un JRE avec un jvmclient sera créé. La sortie en ligne de commande affichera le résultat suivant:

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

Dans le résultat ci-dessus, notez que l'optionvm a la valeurClient. Nous pouvons également spécifier les autres JVM commeserver etminimal avec cette option.

3.4. Extension

L'optionextension est utilisée pour inclure diverses extensions autorisées au JRE cible. Par défaut, aucune extension n'est ajoutée:

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

Un JRE avec un sunecextension (Security provider for Elliptic Curve Cryptography) sera créé. Nous pouvons également utiliser––extension au lieu de-x dans la commande. La sortie en ligne de commande affichera le résultat suivant:

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

Dans le résultat ci-dessus, notez que l'optionextension a la valeursunec. Plusieurs extensions peuvent être ajoutées avec cette option.

3.5. Autres options

Outre les principales options évoquées ci-dessus,jrecreate facilite également les utilisateurs avec quelques options supplémentaires:

  • ––help: affiche le résumé des options de ligne de commande pour l'outil jrecreate

  • ––debug: crée JRE qui prend en charge le débogage

  • ––keep-debug-info: conserve les informations de débogage de la classe et des fichiers JAR non signés

  • ––dry-run: effectue un essai sans créer réellement le JRE

  • ––no-compression: crée un JRE avec des fichiers JAR non signés au format non compressé

  • ––verbose: affiche une sortie détaillée pour toutes les commandesjrecreate

4. Conclusion

Dans ce didacticiel, nous avons appris les bases d'EJDK et comment l'outiljrecreate est utilisé pour générer des JRE spécifiques à la plate-forme.