Correspondance lorsque l'application Java transformée en exe avec launch4j ne fonctionne pas sur les fenêtres où openJDK est installé

J'utilise diverses distributions OpenJDK car je n'ai pas de licence pour Oracle-Java. En raison de mon travail, je crée parfois des applications de type client, donc je l'ai fait en Java car il peut supporter Mac / Win (relativement facilement). Si le fichier jar est laissé tel quel, certaines personnes ne pourront peut-être pas l'utiliser en raison d'un problème d'association, il était donc très difficile à exécuter, donc je l'ai enveloppé dans exe avec launch4j. Il s'avère que cela ne commence pas par un OpenJDK particulier. Ce qui suit est le remède. (Parce qu'il y a une partie pour éditer le registre, nous ne pouvons pas prendre la responsabilité des problèmes comme d'habitude)

Distribution OpenJDK qui peut être démarrée avec lanunch4j

・ Amazon Coretto ・ AdoptezOpenJDK

Mais Amazon Coretto utilise Liberica OpenJDK car la prise en charge du support JavaFX n'est pas encore implémentée et Adopt n'a pas JavaFX. Ce Liberica ne peut pas exécuter launch4j. (Je ne l'ai pas essayé, mais zuru OpenJDK ne semble pas non plus fonctionner)

Avec Liberica installé

-JAVA_HOME est défini. -Puisqu'elle est également ajoutée au PATH, la commande java peut être utilisée à partir de l'invite de commande, etc. -Cependant, launch4j ne peut pas être démarré car on dit qu'il n'y a pas de JDK.

À partir de la documentation officielle Oracle JDK

https://docs.oracle.com/javase/jp/9/install/installation-jdk-and-jre-microsoft-windows-platforms.htm#JSJIG-GUID-47C269A3-5220-412F-9E31-4B8C37A82BFB Le programme d'installation JDK normal écrit la clé de registre Windows. Étant donné que launch4j est une méthode de lecture et d'évaluation de la clé de registre ci-dessus, cela ne fonctionne pas car la clé de registre n'est pas écrite en fonction de la distribution OpenJDK.

Ajouter une clé de registre

** Promesse: faites une sauvegarde au cas où avant de changer le registre. ** ** Après avoir essayé diverses choses, j'ai pu le démarrer en ajoutant cette clé. HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.8 Donc, des commandes supplémentaires (à partir de l'invite de commande en mode administrateur)

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /v CurrentVersion /t REG_SZ /d "1.8.0_252"
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.8" /v JavaHome /t REG_SZ /d "%JAVA_HOME%\jre"

Réécrivez «1.8.0_252» sur la première ligne dans la version Java, le cas échéant. Faites également correspondre la partie "1.8" du chemin vers la version de la même manière.

(Peut-être que c'est aussi) reg add "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.8.0_252"

De côté

Si le pot ne se lance pas avec un double clic, HKEY_CLASSES_ROOT¥.jar Parfois, cela fonctionne si vous supprimez la clé de registre et réinstallez le JRE.

URL référencée

https://sourceforge.net/p/launch4j/feature-requests/103/ https://github.com/AdoptOpenJDK/openjdk-installer/issues/64

Recommended Posts

Correspondance lorsque l'application Java transformée en exe avec launch4j ne fonctionne pas sur les fenêtres où openJDK est installé
[Kotlin] La bibliothèque de mappage basée sur la réflexion basée sur Java ne fonctionne fondamentalement pas avec Kotlin.
Utilisation de JupyterLab + Java avec WSL sous Windows 10
Mesure de la mémoire des applications Java sous Windows
Installez Java 11 (OpenJDK: AdoptOpenJDK) sur macOS avec Homebrew
Installez Java 14 (OpenJDK: AdoptOpenJDK) sur macOS avec Homebrew
Lorsque @Transactional of Spring Boot ne fonctionne pas
Installez Java 8 (OpenJDK: AdoptOpenJDK) sur macOS avec Homebrew
Eclipse ne démarre pas après l'installation de Java 11
[Solution] Java ne peut pas être installé sur Windows 10 + ATOK 2017