Beheben Sie den CreateProcess-Fehler = 206, wenn Sie Java in einer Windows-Umgebung ausführen

Während der Entwicklung mit Java trat der folgende Fehler auf und ich war ziemlich süchtig danach. Machen Sie sich also eine Notiz.

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

Ursache

Auf den ersten Blick habe ich es überhaupt nicht verstanden, aber die angegebene Zeichenfolge des Klassenpfads, die beim Ausführen des Java-Befehls angegeben wurde (java -cp "c: \ myproject \ main; c: \ Users \ .gradle \ .. Es scheint, dass die Ursache darin besteht, dass "Mitanatsu" zu lang ist und die maximale Anzahl von Zeichen des Arguments von createProcess in Windows, 32768, überschreitet.

Bewältigung

Bibliothek reduzieren

Dies ist das Beste, wenn Sie dies wählen können. Diesmal war es unmöglich, weil es alle notwendigen Bibliotheken waren.

Verschieben Sie das Projektverzeichnis in der Hierarchie nach unten

Wenn es sich jetzt beispielsweise in c: \ Users / ore / nanika / nantoka / are / sore / koko befindet, wechseln Sie zu c: \ Users / ore /. Ich dachte, das wäre das nächst einfachere, aber es hat nicht funktioniert. Der Grund ist im nächsten Punkt.

Ändern Sie das Home-Verzeichnis von Gradle

Wenn Sie sich den im Java-Befehl angegebenen Klassenpfad genau ansehen, wenn ein Fehler auftritt, handelt es sich häufig um c: \ Users \ ore \ .gradle \ nantoka_library \ nantoka.jar. Also habe ich das Standard-Download-Ziel für gradle von c: \ Users \ ore \ .gradle nach c: \ .gradle verschoben.

Erstellen Sie unter Windows GRADLE_USER_HOME unter "System" -> "Erweiterte Systemeinstellungen" -> "Umgebungsvariablen" -> Benutzerumgebungsvariablen und geben Sie den Wert in der Prozedur von C: \ .gradle an.

Jetzt habe ich die IDE neu gestartet und neu erstellt und es hat funktioniert. Es ist keine gute Idee, aber wenn Sie süchtig danach sind, ist es vielleicht einen Versuch wert.

Gibt es überhaupt keine angemessene Gegenmaßnahme?

Das Problem ist, dass der Java-Befehl ein zu langes Argument hat, sodass Sie ihn stoppen können. Wenn Sie das Java 9-Modul verwenden können, müssen Sie nicht so viele lange Klassenpfade angeben. Es wird jedoch einige Zeit dauern, bis sich Java 9 verbreitet und die Bibliothek es unterstützt.

Recommended Posts

Beheben Sie den CreateProcess-Fehler = 206, wenn Sie Java in einer Windows-Umgebung ausführen
Zeigt einen detaillierten Fehler in Logger an, wenn Java auf dem Server ausgeführt wird
Bei der Suche nach mehreren in einem Java-Array
[Windows] [IntelliJ] [Java] [Tomcat] Erstellen Sie mit IntelliJ eine Umgebung für Tomcat 9
Fehler bei der Bundle-Installation beim Ausführen neuer Schienen
Wenn Java-Tests Umgebungsvariablen enthalten
Ein Hinweis, wenn Sie Tupel in Java möchten
Eine Bat-Datei, die Java in Windows verwendet
Bei Verwendung einer Liste in Java wird java.awt.List ausgegeben und ein Fehler tritt auf
So erstellen Sie eine Java-Umgebung in nur 3 Sekunden
Punkte, die beim Ausführen von vite + Nginx in der Docker-Umgebung hängen bleiben
Überprüfungswertfehler, der in der Clusterumgebung aufgetreten ist
Was ich beim Erstellen eines Servers in Java gelernt habe
Bereitstellen einer Java-Umgebung mit Windows Subsystem für Linux (WSL)
Schwierigkeiten beim Erstellen einer Ruby on Rails-Umgebung (Windows 10) (SQLite3)
Vermeiden Sie den Fehler, den Yuma in Java gemacht hat
Verwenden Sie Java Web Start in einer OpenJDK-Umgebung unter Windows
Ändern Sie die Java-Codierung in Windows
Suchen Sie eine Teilmenge in Java
JavaFX-Umgebungskonstruktion in Java 13
Fehler beim Spielen mit Java
Ruby ① Erstellen einer Windows-Umgebung
Zip-Komprimierung, die in einer Java-Umgebung nicht beeinträchtigt wird
Sammeln von Clientinformationen, wenn in einer Webanwendung ein Fehler auftritt
Fehler beim Finden des Symbols bei neuer Klasse in einer anderen Java-Datei
So bedienen Sie automatisch einen in Java unter Windows erstellten Bildschirm
Abhilfe für "Ein Server läuft bereits." Fehler beim Ausführen von Rails s
Vermeiden Sie Zeichencodefehler in Java, wenn Sie die VScode-Erweiterung RUN-CODE verwenden
So beheben Sie den unbekannten Fehler, der bei der Verwendung von slf4j in Java aufgetreten ist
Ich habe ein PDF mit Java erstellt.
Java Spring-Umgebung in vs Code
Codierung unter Windows + Ruby
Erstellen Sie eine Datenbank in einer Produktionsumgebung
Versuchen Sie, Selenuim 3.141.59 mit Eclipse (Java) auszuführen.
Einstellungen für Java-Umgebungsvariablen (Windows, AdoptOpenJDK11)
Ein einfaches Beispiel für Rückrufe in Java
Versuchen Sie, AWS X-Ray in Java auszuführen
Bleiben Sie in einem Java Primer stecken
Es wurde ein Fehler behoben, der beim Versuch auftrat, Spark in einer Umgebung zu verwenden, in der Java 8 und Java 11 gleichzeitig vorhanden sind
Was ich überprüft habe, als ich Docker Hub in einer Windows 10-Heimumgebung installiert habe, aber nicht gestartet wurde
In Java-Überprüfungen wurde auf schlechte Gewohnheiten hingewiesen, als Java noch Anfänger war
Vermeiden Sie Java-Codierungsfehler, die beim Ausführen von FitGen.exe unter japanischem Windows auftreten
So übergeben Sie einen Proxy, wenn Sie REST mit SSL in Java auslösen
So ermitteln Sie den absoluten Pfad eines in Java ausgeführten Verzeichnisses
Informationen zum Zurückgeben einer Referenz in einem Java Getter
Leistungseinbußen bei Java-Containern in der Menicoa-Umgebung
Was ist eine Klasse in der Java-Sprache (3 /?)
Erstellen einer Lambda-Entwicklungsumgebung mit Eclipse
Rufen Sie die Windows-Benachrichtigungs-API in Java auf
[Erstellen] Ein Memorandum über das Codieren in Java
Java erstellt eine Tabelle in einem Word-Dokument
Java erstellt ein Kreisdiagramm in Excel
Was ist eine Klasse in der Java-Sprache (1 /?)
Lassen Sie uns eine Java-Entwicklungsumgebung erstellen (Aktualisierung)
Spielen Sie die Framework 2.6 (Java) -Umgebungskonstruktion mit Eclipse
Fehler bei der Implementierung bei der Implementierung der Spring-Validierung
Was ist eine Klasse in der Java-Sprache (2 /?)
Versuchen Sie, Kubernetes Job von Java aus auszuführen
Erstellen Sie eine TODO-App in Java 7 Create Header