Errore CreateProcess = 206, Il nome file o l’estensione è troppo lungo quando si esegue il metodo main ()

Ho questo errore in eclipse Helios:

Si è verificata un’eccezione durante l’esecuzione della riga di comando. Imansible eseguire il programma “C: \ Programmi (x86) \ Java \ jre6 \ bin \ javaw.exe” (nella directory “C: \ Users \ motiver \ helios_workspace \ TimeTracker”): errore CreateProcess = 206, il nome file o l’estensione è troppo lungo

Ho studiato un po ‘, ma la maggior parte dei problemi riguardava DataNucleus quando si lavorava su Google App Engine. Ma non sto utilizzando nulla collegato in remoto a Google App Engine. Sto facendo un piccolo progetto con Servlet 3.0 su JBOSS 6. Sto usando Hibernate 4.1.2 per ORM e RESTEasy per esporre un servizio web. Ho creato un file util che ha un metodo main () che sostanzialmente rilascia e ricrea lo schema. Eseguo il methos main () quando ho bisogno di un database pulito a scopo di test. Ha funzionato bene su Tomcat 7 ma ha smesso di funzionare quando sono passato a JBoss 6.

Qualsiasi suggerimento o soluzione sarebbe molto apprezzato.

Non esiste una soluzione semplice (come in un paio di clic o un comando semplice) a questo problema.

Citando da alcune risposte in questo bug report in Eclipse.org , queste sono le soluzioni alternative. Scegli quello che è meno doloroso per te:

  • Ridurre il classpath
  • Utilizza le directory invece dei file jar
  • Usa un file jar compresso che contiene tutti gli altri jar, usa la variabile classpath all’interno del file manifest per puntare agli altri jar
  • Utilizzare un caricatore di classi speciale che legge il classpath da un file di configurazione
  • Prova a utilizzare una delle patch allegate nel documento di segnalazione bug
  • Usa un involucro personale, ad esempio un formicaio
  • Sposta su IntelliJ (Aggiornamento: come @nitind indica, questa non è un’opzione)

Aggiornamento : dopo luglio 2014, c’è un modo migliore (grazie alla risposta di @ Brad-Mace qui sotto :

Se hai creato il tuo file di build invece di usare Project -> Generate Javadocs , puoi aggiungere useexternalfile="yes" all’attività Javadoc, progettata specificamente per risolvere questo problema.

Se crei il tuo file di build anziché utilizzare Project -> Generate Javadocs , puoi aggiungere useexternalfile="yes" all’attività javadoc , progettata specificamente per risolvere questo problema.

Prova ad aggiornare la tua versione di Eclipse, il problema è stato chiuso di recente (2013-03-12). Controlla la segnalazione di bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193

Rispondere alla mia domanda qui in modo che la soluzione non venga sotterrata nei commenti. Ho esportato il progetto come un jar eseguibile da eclipse e ho fatto una riga di comando “java -jar MyJar.jar” e funziona perfettamente bene

Nella segnalazione di bug Bug 327193 è considerato fisso, ma mi è capitato di recente con Eclipse Kepler 4.3.2.

Si prega di scaricare la patch per Eclipse Juno o più recente:

https://bugs.eclipse.org/bugs/attachment.cgi?id=216593

  1. Dopo il download eseguire il backup di eclipse / plugins / org.eclipse.jdt.launching_3. *. Jar esistente
  2. Copia e incolla le classi nella patch su org.eclipse.jdt.launching JAR (sostituisci i file esistenti).
  3. Riavvia Eclipse.

Ho avuto lo stesso errore, mentre invocavo Maven.

La causa principale del mio problema era il classpath era molto grande. L’aggiornamento del classpath ha risolto il problema.

Ho affrontato questo problema oggi e sono riuscito a risolverlo usando questo plugin Gradle

È github url è questo

Se tu, come me, non hai idea di cosa sia Gradle ma abbia bisogno di eseguire un backend per fare il tuo lavoro front-end, devi trovare il file build.gradle che viene chiamato per avviare il tuo server BE e aggiungerlo a la cima:

 plugins { id "ua.eshepelyuk.ManifestClasspath" version "1.0.0" } 

Prova questo:

java -jar -Dserver.port = 8080 build / libs / APP_NAME_HERE.jar

succede a causa di DataNucleus a volte sovrascrivere gli argomenti con molti percorsi.

Devi sovrascriverli con questo:

-enhancerName ASM -api JDO -pu MediaToGo

Spero ti aiuti!

La risposta valida di questo thread è stata la risposta giusta per il mio caso speciale. Specificare il percorso della cartella ORM per datanucleus sicuramente riduce la compilazione del percorso java.

https://stackoverflow.com/a/1219427/1469481

Ho ricevuto l’errore qui sotto quando eseguo ‘ ant deploy

 Cannot run program "C:\java\jdk1.8.0_45\bin\java.exe": CreateProcess error=206, The filename or extension is too long 

Risolto il problema eseguendo ‘ ant clean ‘ prima di esso.

Ho avuto lo stesso errore in Android Studio. Sono stato in grado di risolverlo eseguendo Build -> Clean Project nell’IDE.

Questo è dovuto al tuo lungo nome di directory del progetto, che ti dà un CLASSPATH molto lungo del tutto. O è necessario ridurre i barattoli aggiunti in CLASSPATH (assicurarsi di rimuovere solo i barattoli non necessari) oppure il modo migliore è ridurre la directory del progetto e importare di nuovo il progetto. Questo ridurrà il CLASSPATH . Ha funzionato per me.

Ho avuto lo stesso problema, ma invece stavo usando netbeans.
Ho trovato una soluzione, quindi sto condividendo qui perché non l’ho trovato da nessuna parte, quindi se hai questo problema su netbeans, prova questo:
(i nomi potrebbero non essere disponibili poiché my netbeans è in portoghese) Fare clic con il tasto destro del mouse su project> properties> build> compiling> Deselezionare la compilazione di esecuzione su una VM esterna.