Lors du développement avec Java, l'erreur suivante a commencé à se produire et j'en étais assez accro, alors prenez note.
Exception occurred executing command line.
Cannot run program "C:\Program Files\Java\jre1.8.0_144\bin\javaw.exe" (in directory "C:\Users\ore\myproject"): CreateProcess error=206, The filename or extension is too long
À première vue, cela n'avait aucun sens, mais la chaîne de chemin de classe spécifiée lors de l'exécution de la commande java (java -cp "c: \ monprojet \ main; c: \ Users \ .gradle \ .. .. Il semble que la cause soit que "Mita-natsu" soit trop long et dépasse le nombre maximum de caractères de l'argument de createProcess dans Windows, 32768.
C'est le meilleur si vous pouvez le choisir. Cette fois, c'était impossible car il s'agissait de toutes les bibliothèques nécessaires.
Par exemple, s'il est maintenant dans c: \ Users / ore / nanika / nantoka / are / sore / koko, passez à c: \ Users / ore /. Je pensais que ce serait la prochaine chose la plus simple à faire, mais cela n'a pas fonctionné. La raison est dans le point suivant.
Si vous regardez attentivement le chemin de classe spécifié dans la commande java lorsqu'une erreur se produit, il s'agit très souvent de quelque chose comme c: \ Users \ ore \ .gradle \ nantoka_library \ nantoka.jar. J'ai donc déplacé la destination de téléchargement par défaut pour gradle de c: \ Users \ ore \ .gradle vers c: \ .gradle.
Sous Windows, créez GRADLE_USER_HOME dans "Système" -> "Paramètres système avancés" -> "Variables d'environnement" -> Variables d'environnement utilisateur et spécifiez la valeur dans la procédure de C: \ .gradle.
Maintenant, j'ai redémarré l'IDE et l'ai reconstruit et cela a fonctionné. Ce n'est pas une bonne idée, mais si vous en êtes accro, cela vaut peut-être la peine d'essayer.
Le problème est que la commande java a un argument trop long, vous pouvez donc l'arrêter. Si vous pouvez utiliser le module Java 9, vous n'avez pas à spécifier un si grand nombre de chemins de classe longs. Cependant, il faudra un certain temps avant que Java 9 ne se généralise et que la bibliothèque le prenne en charge.