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
PHPzavant
2024-02-09 17:06:10922parcourir

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

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

C'est mon dernier message

%JAVA_HOME%\bin

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/3d689bd3819ead35ed794427bd12f459/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 5a3616b73b29b6ef8523164b750a7aee --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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer