Ich habe diesen Fehler in Eclipse Helios:
Bei der Ausführung der Befehlszeile ist eine Ausnahme aufgetreten. Programm "C: \ Programme (x86) \ Java \ jre6 \ bin \ javaw.exe" (im Verzeichnis "C: \ Users \ motiver \ helios_workspace \ TimeTracker") kann nicht ausgeführt werden: CreateProcess error = 206, Der Dateiname oder die Erweiterung lautet zu lang
Ich habe ein wenig recherchiert, aber die meisten Probleme betrafen DataNucleus bei der Arbeit an Google App Engine. Ich verwende jedoch nichts im Zusammenhang mit Google App Engine. Ich mache ein kleines Projekt mit Servlet 3.0 auf JBOSS 6. Ich verwende Hibernate 4.1.2 für ORM und RESTEasy, um einen Webdienst verfügbar zu machen. Ich habe eine util-Datei mit einer main () -Methode erstellt, die das Schema im Grunde genommen löscht und neu erstellt. Ich führe die Methode main () aus, wenn ich zu Testzwecken eine saubere Datenbank benötige. Auf Tomcat 7 hat es gut funktioniert, aber es hat aufgehört zu funktionieren, als ich zu JBoss 6 gewechselt bin.
Jeder Hinweis oder jede Lösung wäre sehr dankbar.
C:\Program Files (x86)\Java\jre6\bin\javaw.exe
es lang ist oder der andereC:\Users\motiver\helios_workspace\TimeTracker
. Ich habe auch das gleiche Problem.Antworten:
Es gibt keine einfache Lösung (wie mit ein paar Klicks oder einem einfachen Befehl) für dieses Problem.
Ausgehend von einigen Antworten in diesem Fehlerbericht auf Eclipse.org sind dies die Problemumgehungen . Wählen Sie die aus, die für Sie am wenigsten schmerzhaft ist:
Update : Nach Juli 2014 gibt es einen besseren Weg (dank der Antwort von @ Brad-Mace unten :
Wenn Sie Ihre eigene Build-Datei erstellt haben, anstatt sie zu verwenden
Project -> Generate Javadocs
, können Sieuseexternalfile="yes"
sie zur Javadoc-Aufgabe hinzufügen , die speziell zur Lösung dieses Problems entwickelt wurde.quelle
-classpath
Argument wurde generiert, um alle Abhängigkeiten zu enthalten. So etwas kam heraus :C:\Users\myself\.m2\repository\…;C:\Users\myself\.m2\repository\…[…tons more]
. Das Verschieben meines lokalen Maven-Repo-Caches aufD:\m2
den Trick: Classpath schrumpfte aufD:\m2\…;D:\m2\…
- Bingo! Denken Sie daran, denlocalRepository
Pfad in Ihrer Maven-Konfiguration festzulegen.Wenn Sie Ihre eigene Build-Datei erstellen, anstatt sie zu verwenden
Project -> Generate Javadocs
, können Sieuseexternalfile="yes"
sie derjavadoc
Aufgabe hinzufügen , die speziell zur Lösung dieses Problems entwickelt wurde.quelle
Ich war heute mit diesem Problem konfrontiert und konnte es mit diesem Gradle-Plugin lösen
Es ist Github URL ist dies
Wenn Sie wie ich keine Ahnung haben, was Gradle ist, sondern ein Backend ausführen müssen, um Ihre Front-End-Arbeit zu erledigen, müssen Sie die Datei build.gradle suchen, die aufgerufen wird, um Ihren BE-Server zu starten, und diese hinzufügen die Spitze:
quelle
attributes["Main-Class"]
Beantworte meine eigene Frage hier, damit die Lösung nicht in Kommentaren vergraben wird. Ich habe das Projekt als ausführbares JAR aus Eclipse exportiert und eine Befehlszeile "java -jar MyJar.jar" ausgeführt, die einwandfrei funktioniert
quelle
Versuchen Sie, Ihre Eclipse-Version zu aktualisieren. Das Problem wurde kürzlich (12.03.2013) geschlossen. Überprüfen Sie den Fehlerbericht https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193
quelle
Dies ist nicht speziell für Eclipse gedacht, aber ich habe dies umgangen, indem ich einen symbolischen Link zu meinem Maven-Repository erstellt und auf etwas wie "C: \ R" verwiesen habe. Dann habe ich meiner Datei settings.xml Folgendes hinzugefügt:
Der Maven-Repository-Pfad trug zu den Längenproblemen auf meinem Windows-Computer bei.
quelle
In Intellij gibt es eine Option zum 'Kürzen der Befehlszeile', Auswählen von 'JAR-Manifest' oder '@argFiles', um das Problem zu lösen. Im Grunde wird Ihr langer Klassenpfad in eine JAR-Datei oder eine temporäre Datei eingefügt
quelle
Frage ist alt, aber immer noch gültig. Ich stoße häufig auf diese Situation, wenn ein neues Mitglied meinem Team beitritt oder ein neues Codesegment zu vorhandenem Code hinzugefügt wird. Eine einfache Problemumgehung besteht darin, den Klassenpfad zu verkleinern, indem Sie die Verzeichnisse nach oben verschieben.
Wie bereits erwähnt, ist dies nicht spezifisch für Eclipse. Ich bin auch in IntelliJ Idea 14 und 2018 auf dieses Problem gestoßen.
Nach langer Recherche fand ich die Lösung darin, das einzustellen
in javc von ant build file.
So sieht mein Ameisenbau-Javac jetzt aus. Weitere Informationen zur Gabel finden Sie in der Dokumentation zu Ameisen.
quelle
Im Bug Report Bug 327193 wird es als behoben angesehen, aber es passiert mir kürzlich mit Eclipse Kepler 4.3.2.
Bitte laden Sie den Patch für Eclipse Juno oder höher herunter:
https://bugs.eclipse.org/bugs/attachment.cgi?id=216593
quelle
Versuche dies:
quelle
Um es zu lösen:
Wenn Sie Eclipse verwenden:
Verschieben Sie das .m2-Repository nach
c: \ Gehen Sie zu Eclipse> Windows / Einstellungen / Maven / Benutzereinstellungen -> Erstellen Sie Ihre eigene settings.xml mit ihrem Inhalt:
Wenn Sie IntelliJ verwenden: Gehen Sie zu IntelliJ> klicken Sie mit der rechten Maustaste auf "pom.xml"> maven> erstellen Sie "settings.xml".
mit seinem Inhalt:
quelle
Ich habe den gleichen Fehler beim Aufrufen von Maven.
Die Hauptursache für mein Problem war, dass
classpath
es sehr groß war. Das Aktualisieren des Klassenpfads hat das Problem behoben.Es gibt mehrere Möglichkeiten, den großen Klassenpfad zu aktualisieren, wie in diesem Abschnitt beschrieben: Wie wird ein langer Java-Klassenpfad in Windows festgelegt?
Da ich Intellij verwende, bieten sie die Option, die von mir verwendete Argumentdatei zu verwenden.
quelle
Updating the classpath
- Wie?Fügen Sie dies in die
gradle version 4.10.x
Datei build.gradle ( ) ein und überprüfen Sie, obcom.xxx.MainClass
dies die Klasse ist, in der sich Ihre Hauptmethode befindet:Die obige Änderung muss das Problem beheben. Es gibt eine andere Möglichkeit, das Problem mithilfe des folgenden Skripts zu
run.sh
beheben. Es handelt sich jedoch eher um eine Befehlszeilenkorrektur, die nicht in IntelliJ gestartet werden kanngradle bootRun
.quelle
Dies geschieht, weil DataNucleus die Argumente manchmal mit vielen Pfaden überschreibt.
Sie müssen sie damit überschreiben:
-enhancerName ASM -api JDO -pu MediaToGo
Hoffe dir zu helfen!
quelle
Eine gültige Antwort aus diesem Thread war die richtige Antwort für meinen Sonderfall. Wenn Sie den ORM-Ordnerpfad für den Datenkern angeben, wird die Kompilierung des Java-Pfads auf jeden Fall reduziert.
https://stackoverflow.com/a/1219427/1469481
quelle
Ich habe den folgenden Fehler erhalten, wenn ich ' ant deploy ' ausführe.
Es wurde behoben, indem ' ant clean ' davor ausgeführt wurde.
quelle
Ich habe den gleichen Fehler in Android Studio. Ich konnte es beheben, indem ich Build -> Clean Project in der IDE ausführte.
quelle
Dies liegt an Ihrem langen Projektverzeichnisnamen, der Ihnen insgesamt einen sehr langen Namen gibt
CLASSPATH
. Entweder müssen Sie die Anzahl der hinzugefügten Gläser reduzierenCLASSPATH
(stellen Sie sicher, dass nur unnötige Gläser entfernt werden), oder Sie können das Projektverzeichnis am besten verkleinern und das Projekt erneut importieren. Dies wird die reduzierenCLASSPATH
. Es hat bei mir funktioniert.quelle
Ich hatte das gleiche Problem, aber ich habe stattdessen Netbeans verwendet.
Ich habe eine Lösung gefunden, die ich hier teile, weil ich sie nirgendwo gefunden habe. Wenn Sie dieses Problem bei Netbeans haben, versuchen Sie Folgendes:
(Namen sind möglicherweise deaktiviert, da meine Netbeans auf Portugiesisch sind.) Klicken Sie mit der rechten Maustaste auf Projekt> Eigenschaften > build> compiling> Deaktivieren Sie "Kompilierung auf externer VM ausführen".
quelle
Ich habe den gleichen Fehler bekommen. Versuchte Lösungen wie Bereinigen, Wiederherstellen, Ungültigmachen des Caches, Neustarten usw., aber nichts funktioniert.
Ich habe gerade einen neuen Ordner mit Kurznamen erstellt und alle Dateien (App-Ordner, Gradle-Dateien usw.) in einen neuen Ordner kopiert. Geöffnete Anwendung in Android Studio und es funktioniert gut.
quelle
In meinem Fall wurde der Fehler angezeigt, da sich die Java-Version des Systems von der Java-Version von Intellijj / Eclipse unterschied. System und Benutzer hatten verschiedene Java-Versionen. Wenn Sie Ihren Code mit einer Version kompilieren und versuchen, ihn mit einer anderen Version auszuführen, tritt ein Fehler auf.
Kurz gesagt, stellen Sie sicher, dass Ihr Code von derselben Java-Version kompiliert und ausgeführt wird.
quelle
Fügen Sie unten zu Ihrer Gradle-Datei hinzu:
Plugins {`id" com.github.ManifestClasspath "Version" 0.1.0-RELEASE "
}
Siehe https://plugins.gradle.org/plugin/com.github.ManifestClasspath
quelle
Um diesen Fehler zu beheben, habe ich genug recherchiert, keine großartige Lösung gefunden. Ich habe dieses Skript vorbereitet und es funktioniert einwandfrei. Ich dachte, ich möchte es der Öffentlichkeit zugänglich machen und es nutzen und dort Zeit sparen.
Wenn Sie das Gradle-Build-Tool verwenden und die ausführbare Datei im Verzeichnis build / libs Ihrer Anwendung abgelegt ist.
run.sh
-> Erstellen Sie diese Datei im Stammverzeichnis Ihres Projekts, kopieren Sie das folgende Skript darin, gehen Sie zu git bash, geben Sie run.sh ein und geben Sie ein. Hoffe das hilft!#!/bin/bash dir_name=`pwd` if [ $# == 1 ] && [ $1 == "debug" ] then port=$RANDOM quit=0 echo "Finding free port for debugging" while [ "$quit" -ne 1 ]; do netstat -anp | grep $port >> /dev/null if [ $? -gt 0 ]; then quit=1 else port=`expr $port + 1` fi done echo "Starting in Debug Mode on "$port gradle clean bootjar jar_name="build/libs/"`ls -l ./build/libs/|grep jar|grep -v grep|awk '{print $NF}'` #java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=$port $jar_name elif [ $# == 1 ] && [ $1 == 'help' ] then echo "please use this commands" echo "------------------------" echo "Start in Debug Mode: sh run.sh debug" echo "Start in Run Mode: sh run.sh" echo "------------------------" else gradle clean bootjar word_count=`ls -l ./build/libs/|grep jar|grep -v grep|wc -w` jar_name=`ls -l ./build/libs/|grep jar|grep -v grep|awk '{print $NF}'`
jar_path=build/libs/$jar_name echo $jar_name #java -jar $jar_path fi
Hoffe das hilft!!
quelle
Ich verwende eine ältere Version von Gradle-Plugins und dies Plugin hat das Problem für mich gelöst.
Verwendung (siehe Quelle für weitere Details):
quelle
Auf einem Windows-Computer gibt es eine Einschränkung des JAR-Dateinamens / der Pfadlänge in der Befehlszeile. Aufgrund der folgenden Fehlermeldung habe ich viel gesucht, auch wenn ich aus irgendeinem Grund versucht habe, die oben genannte Lösung anzuwenden. es hat nicht funktioniert, ich habe das funktionierende Snippet für Gradle gefunden (gradle-4.10.2-all.zip)
Error:
CreateProcess error=206, The filename or extension is too long
Verwenden Sie dies unten
gradle.build
Codefragment, um das oben genannte Problem in IntelliJ oder STS zu beheben oder etwas in den Schatten zu stellen.Gradle Code Fix:
quelle
Wie viele Leute oben traurig sind, gibt es eine Menge Plugins, um einen Bypass in diesem Problem auszuführen, wie:
oder
Aber die bessere Lösung, die ich gefunden habe, war, den JVM-Prozess zu beenden und alles ist erledigt.
quelle