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)
・ 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)
-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.
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.
** 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"
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.
https://sourceforge.net/p/launch4j/feature-requests/103/ https://github.com/AdoptOpenJDK/openjdk-installer/issues/64
Recommended Posts