87 votes

Comment regrouper un JRE avec Launch4j?

J'ai Launch4J sur mon ordinateur et c'est un excellent programme. Une de ses fonctionnalités qui m'intéresse est la possibilité de regrouper un JRE dans le fichier .EXE général. Cependant, je ne trouve aucune documentation décrivant comment s'y prendre.

Comment regrouper un JRE avec le fichier EXE? De plus, où puis-je utiliser un JRE compact et portable? Les liens de téléchargement sur Oracle concernent les packages d'installation.

90voto

Francisco Puga Points 3532

Après quelques tentatives j'ai enfin une solution de regroupement de la jre dans mon application:

Je package de mon application dans un fichier zip avec les dossiers suivants à l'intérieur:

containerFolder
|- jre
      |-bin (in bin there is java.exe)
      |-lib
|- cfg (to save the user configuration, but it's not needed)
|- bin (my application with the .exe and the .jar and all the other stuff)

Dans le fichier xml de launch4j-je configurer le jre comme ceci:

<jre>
    <path>../jre</path>
    <opt>-DgvSIG.confDir=../cfg</opt>
</jre>

L'astuce ici est que le chemin n'est pas à l'java.exe fichier. Le chemin d'accès à la jre est relative à la position de l' .exe et il doit pointer vers un dossier avant le java.exe fichier

Le jre dossier que j'utilise est juste un copier-coller dans le dossier jre installé sur un système windows.

6voto

beNice Points 427

La seule façon que je pouvais intégrer un JRE était d'utiliser Launch4J et Inno Setup Compiler.

Tout d'abord, créer un " re6 dossier (par exemple) dans le même répertoire que votre fichier de sortie (.exe).

Puis copiez le JRE à partir de votre système dans votre re6 dossier.

Ensuite, vous ouvrez Launch4J et définir la JRE Groupé chemin " - il suffit de taper: re6 . Puis cliquez sur le bouton générer (évidemment, après que vous ayez entré tous les autres paramètres, mais la seule valeur dont vous avez besoin pour entrer sur le 'JRE' onglet lui-même est le " JRE Groupé chemin de valeur.)

Je me serais attendu à travailler, mais si déplacez le .exe vers un nouvel emplacement (de sorte qu'il n'est plus co-localisé avec votre re6 dossier), vous obtenez la "Cette application a été configuré pour utiliser un groupés à l'Environnement d'Exécution Java, mais l'exécution est manquant ou endommagé" erreur lorsque vous essayez d'exécuter l'application...

J'ai été jouer avec toute la journée et il n'y avait aucun moyen je pourrais obtenir Launch4J pour inclure le JRE dans le .exe fichier. Vraiment mauvais à mon avis, que leur documentation ne semble pas allusion à cette question.

Donc ce que j'ai fait pour résoudre était d'utiliser Inno Setup Compiler. Cette application est utilisée pour envelopper votre .exe dans un fichier Windows Installer. J'ai donc ajouté un paramètre à l'ISC script qui copie le JRE dans le package du programme d'installation. La ligne j'ai ajouté le script (dans la section [Files]) était:

Source: "M:\Netbeans\MyApp\jre6\*"; DestDir: "{app}\jre6\"; Flags: recursesubdirs createallsubdirs

...un peu de solution de contournement, mais il a fait le tour.

Répétez toutes les étapes ci-dessus, et vous devriez être triés.

RÉPONDRE PRISES à PARTIR d' ici..user1617737

-2voto

hbtest Points 1707

Le jre se trouve généralement dans votre dossier SDK. Oui, les liens en ligne sont des installateurs, mais une fois installé, le JRE se trouve maintenant sur votre disque local. Le mien est situé dans

 ${jdk folder}\jre
 

Les composants inutiles de JRE pourraient probablement être supprimés manuellement si vous le souhaitiez vraiment (je ne sais pas ce qui est disponible en ligne).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X