Maison > Java > Essayer de construire le programme en utilisant une version du JDK qui n'est pas installée

Essayer de construire le programme en utilisant une version du JDK qui n'est pas installée

PHPz
Libérer: 2024-02-09 17:06:10
avant
954 Les gens l'ont consulté

L'éditeur PHP Xinyi vous présente comment essayer de créer un programme en utilisant une version JDK désinstallée. Pendant le développement, il est crucial d'utiliser la bonne version du JDK, mais nous devrons parfois essayer d'utiliser d'autres versions pour résoudre certains problèmes. À ce stade, nous pouvons spécifier la version du JDK à utiliser en définissant des variables d'environnement et en utilisant des outils de ligne de commande pour construire notre programme. Dans cet article, nous détaillerons comment effectuer ces opérations pour vous aider à mener à bien vos tâches de développement en douceur. commençons!

Contenu de la question

À l'aide du programme d'installation d'Oracle, j'ai installé jdk-21 sur un ordinateur Windows. Mais quand j'ai essayé de construire le projet, j'ai eu une erreur disant que gradlew est incompatible, j'ai donc désinstallé Oracle jdk-21 et maintenant j'ai installé adoptium build et configuré java_home à l'aide de cette commande

setx java_home“c:program fileseclipse adoptiumjdk-21.0.1.12-hotspot”

Lorsque j'exécute Where Java dans l'invite de commande, j'obtiens :

c:\program files\eclipse adoptium\jdk.21.0.1.12-hotspot\bin\java.exe
Copier après la connexion

Cependant, lorsque j'essaie de créer le projet, je reçois un message d'erreur indiquant que le fichier exécutable Java "c:program filesjavajdk-21binjava.exe" est introuvable. Mon ordinateur semble essayer de trouver la version d'Oracle que j'ai désinstallée.

J'ai suivi les instructions de cet article pour définir %java_home%bin dans le chemin du système, mais il indique que l'exécutable est introuvable.

C'est la première entrée dans le chemin de ma variable d'environnement

c:\program files\eclipse adoptium\jdk-21.0.1.12-hotspot\bin
Copier après la connexion

C'est mon dernier message

%JAVA_HOME%\bin
Copier après la connexion

Pourquoi le programme veut-il construire avec la version Java désinstallée (c'est-à-dire la version Oracle que j'ai supprimée) ?

Ce lien montre une capture d'écran du chemin Java sur mon ordinateur Windows.

Ce projet Java Spring est ce que j'essaie de construire.

Solution

Cela est peut-être lié au mécanisme de mise en cache Gradle. Supprimez .gradle/daemon/<version>/registry.bin 文件,它应该使用您的 JAVA_HOME variable d'environnement.

Voici la documentation du démon Gradle. Peut-être que cette partie provoque l'erreur ultérieure que vous avez décrite dans votre commentaire. Vous pouvez utiliser gradle <task> --no-daemon pour désactiver le démon de construction actuel et vérifier si votre projet sera construit.

Le projet auquel vous êtes lié utilise Gradle 8.0.1. L'exécuter avec Java 21 n'est pas pris en charge, vous pouvez le voir sur https://docs.gradle.org/current/userguide/compatibility.html. Par conséquent, pour créer ce projet inchangé, vous devez exécuter Gradle avec Java 19.

Vous utilisez toujours l'ancienne installation Java, même JAVA_HOME définie sur un nouvel emplacement, cela semble bizarre si vous exécutez réellement Gradle à partir de la ligne de commande. Si vous l'exécutez à partir d'un IDE, vous devez vérifier les paramètres de l'IDE.

Maintenant, je ne peux qu'imaginer que dans votre GRADLE_USER_HOME (通常是你的用户主目录中的 .gradle/ )中,你有一个 gradle.properties vous puissiez définir le chemin d'accès à votre ancienne installation Java.

Si ce n'est pas le cas, la question est de savoir quel est le résultat exact de votre tentative d'exécution de la build et d'où vient exactement l'erreur. Si cela provient d'un script wrapper Gradle, vous pouvez désactiver la suppression d'écho pour voir ce qui se passe réellement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal