CreateProcess errore=206, Il nome del file o estensione troppo a lungo durante l’esecuzione di metodo main()

Ho questo errore in eclipse helios:

Eccezione riga di comando in esecuzione.
Impossibile eseguire il programma “C:\Program Files (x86)\Java\jre6\bin\javaw.exe” nella directory “C:\Users\motiver\helios_workspace\TimeTracker”): CreateProcess errore=206, Il nome del file o estensione troppo lunga

Ho studiato un po’, ma la maggior parte dei problemi erano legati alla DataNucleus quando si lavora su Google App Engine. Ma io non sto usando nulla di lontanamente correlate a Google App Engine. Io sto facendo un piccolo progetto con Servlet 3.0 su JBOSS 6. Sto usando Hibernate 4.1.2 per il ORM e RESTEasy per esporre un web service. Ho creato un file util che ha un metodo main() che in pratica elimina e ricrea lo schema. Ho eseguito il main() methos quando ho bisogno di un database pulito per scopi di test. Ha funzionato bene su Tomcat 7, ma si è fermato a lavorare quando mi sono trasferito a JBoss 6.

Qualsiasi suggerimento o soluzione sarebbe molto apprezzato.

  • possibile duplicato di CreateProcess errore=206, Il nome del file o estensione troppo lunga
  • Potrebbe essere utile: bugs.eclipse.org/bugs/show_bug.cgi?id=327193
  • Voglio capire se C:\Program Files (x86)\Java\jre6\bin\javaw.exe è lungo o l’altro C:\Users\motiver\helios_workspace\TimeTracker. Anche io sto avendo lo stesso problema.
  • I posteri: ho avuto una situazione simile, ma, con una semplice applicazione enterprise distribuite su WLS e il client da Eclipse. Quello che ho notato è stato il classpath è stato enorme, come Eclipse, per impostazione predefinita, inclusa tutta la WLS biblioteca(tutti i barattoli). L’ho tolto e aggiunto, solo, weblogic.jar(solo a richiesta). Successivamente, ha lavorato bene. Così, dalla mia osservazione, è sufficiente rimuovere inutili vasi.
InformationsquelleAutor motiver | 2012-05-09

 

18 Replies
  1. 37

    Non è semplice (come in un paio di click o di un comando semplice) soluzione a questo problema.

    Citando alcune risposte in questo bug report in Eclipse.org, queste sono le soluzioni. Scegliere quello che è il meno doloroso possibile per voi:

    • Ridurre il classpath
    • Utilizzare le directory invece di file jar
    • Utilizzare un sacco di file jar che contiene tutti gli altri vasi, utilizzare la variabile classpath all’interno del file manifest punto all’altro vasetti
    • Uso di una speciale classe loader che legge il classpath da un file di configurazione
    • Provare a utilizzare uno dei allegata patch nel bug report documento
    • Utilizzare un wrapper es. ant
    • Spostare per IntelliJ (Update: come @nitind punti fuori, questo non è un’opzione)

    Aggiornamento: Dopo il mese di luglio 2014, c’è un modo migliore (grazie a @Brad-Mazza la risposta qui sotto:

    Se avete creato il file di build invece di utilizzare Project -> Generate Javadocs, quindi è possibile aggiungere useexternalfile="yes" al Javadoc compito, che è stato progettato appositamente per risolvere questo problema.

    • Grazie per gli ottimi suggerimenti. Ho esportato il progetto come un jar eseguibile da eclipse e ha fatto una riga di comando “java -jar MyJar.jar” e funziona perfettamente. Credo che questo è un po ‘ simile al tuo 3 ° punto.
    • Come IntelliJ non hanno questo problema, se è del tutto a causa della lunghezza del percorso di classe utilizzato durante l’avvio della JVM?
    • Questo potrebbe essere un problema eclipse solo, io sono in grado di eseguire l’applicazione utilizzando maven.
    • IntelliJ IDEA di sostituire la classe principale con uno generato automaticamente. Esso contiene il hardcoded classpath e il codice per avviare il principale originale classe.” Tratto da bugs.eclipse.org/bugs/show_bug.cgi?id=327193#c8
    • Nel 2014, questa risposta è sbagliata e quella di @Brad Mazza è corretto.
    • “Ridurre il classpath” è un buon suggerimento, ma vorrei approfondire un po ‘ su questo: Nel mio caso, ho cercato di costruire un progetto maven, e il -classpath argomento è stato generato per contenere tutte le dipendenze. Quindi, qualcosa di simile a questo è venuto fuori: C:\Users\myself\.m2\repository\…;C:\Users\myself\.m2\repository\…[…tons more]. Spostando il mio locale maven repo cache D:\m2 ha fatto il trucco: Classpath scese giù per D:\m2\…;D:\m2\… – bingo! Ricordate di impostare la localRepository percorso nel tuo maven config.
    • questa è una soluzione efficace se l’utente appena ricevuto questo errore dopo l’aggiunta di un paio di dipendenze. naturalmente lo fa non se le dipendenze sono anche molti.
    • Ho avuto lo stesso problema, il colpevole era il supplemento file jar ( letto 300+ ), che non sono affatto a cui fa riferimento il progetto. Quindi, tolte quelle, ed era in grado di procedere ulteriormente.

  2. 16

    Se si crea il proprio file di build piuttosto che usare Project -> Generate Javadocs è possibile aggiungere useexternalfile="yes" per il javadoc compito, che è stato progettato appositamente per risolvere questo problema.

  3. 11

    Ho affrontato questo problema oggi e sono stato in grado di risolverlo utilizzando questo plugin Gradle

    È github url è questo

    SE anche voi, come me, non hanno idea di cosa Gradle, ma è necessario eseguire un back-end per fare il vostro lavoro front-end, quello che dovete fare è trovare il costruire.gradle file che viene chiamato per avviare il tuo server e aggiungere questo al top:

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

    Risposta alla mia domanda qui, in modo che la soluzione non sono sepolti nei commenti. Ho esportato il progetto come un jar eseguibile da eclipse e ha fatto una riga di comando “java -jar MyJar.jar” e funziona perfettamente

  5. 4

    Ho avuto lo stesso errore, mentre invocando Maven.

    La causa principale per il mio problema era il classpath era molto grande. Aggiornamento classpath risolto il problema.

  6. 3

    Nel bug report Bug 327193 è considerato fisso, ma è successo a me 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 esistente
      eclipse/plugins/org.eclipse.gdt.launching_3.*.vaso
    2. Copia e incolla classi nella patch per org.eclipse.gdt.il lancio di JAR
      (sostituire i file esistenti).
    3. Riavviare Eclipse.
    • Questo ha funzionato per me. Si noti che l’applicazione di questo rimosso il mio JDK Java installazioni Installato Jre. Ho dovuto aggiungere di nuovo. Solo 1 installazione del JRE persistente.
  7. 2

    Questo non è specificamente per eclipse, ma il modo in cui ho ottenuto tutto questo è stato con la creazione di un link simbolico al mio repository maven e che fa riferimento a qualcosa di simile a “C:\R”. Ho poi aggiunto il seguente al mio settings.xml file:

    <localRepository>C:\R</localRepository>

    Repository maven percorso di contribuire alla lunghezza problemi nella mia macchina windows.

  8. 0

    succede a causa di DataNucleus a volte sovrascrivere gli Argomenti, con tanti percorsi.

    Devi sovrascrivere con questo:

    -enhancerName ASM -api JDO -pu MediaToGo

    Speranza di aiuto!

  9. 0

    Ho ottenuto il seguente errore 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 con una run ‘ant pulito‘ prima.

    • Che cosa succede se sto usando Android Studio? Io sono anche la ricezione di questo stesso problema
    • Sto usando intelliJ
  10. 0

    Ho avuto lo stesso errore in android studio. Sono stato in grado di risolvere il problema eseguendo Costruire->Pulire Progetto nell’IDE.

  11. 0

    Questo è a causa del tuo progetto nome di directory, che ti dà una molto lunga CLASSPATH del tutto. Sia necessario ridurre i vasetti in aggiunta a CLASSPATH (assicurarsi che la rimozione di inutili vasi) O il modo migliore è quello di ridurre la directory del progetto e importare di nuovo il progetto. Ciò consentirà di ridurre il CLASSPATH.
    Ha funzionato per me.

  12. 0

    Ho avuto lo stesso problema,ma io sto usando netbeans, invece.

    Ho trovato una soluzione in modo che sto condividendo qui perché non ho trovato da nessuna parte questo,quindi se avete questo problema su netbeans,provate questo:

    (i nomi possono essere fuori dal mio netbeans è in portoghese)
    Fare clic destro progetto > proprietà > costruire > la compilazione di > Deselezionare eseguire la compilazione esterni VM.

  13. 0

    Ho avuto lo stesso errore. Cercato soluzioni come la pulizia, la ricostruzione, invalidateCache, retart ecc ma non funziona nulla.

    Ho appena creato una nuova cartella con il nome breve e copiato tutti i file(cartella app, gradle file, ecc) in una nuova cartella. Aperto applicazione in android studio e funziona benissimo.

  14. 0

    Domanda è vecchio, ma ancora valido. Mi imbatto in questa situazione spesso ogni volta che un nuovo membro si unisce la mia squadra o di un nuovo segmento di codice viene aggiunto al codice esistente. Soluzione semplice, seguiamo è quello di “Ridurre il classpath” spostando le cartelle.

    Come questione di cui, questo non è specifico per eclipse. Mi sono imbattuto in questo problema in IntelliJ Idea 14 e il 2018, come pure.

    Dopo una lunga ricerca, ho trovato la soluzione è impostare il

    forcella = false

    in javc di ant file di build.

    <javac destdir="${build.dir}" fork="false" debug="on">
        <classpath .../>
        <src ... />
        <patternset ... />
    </javac>

    Questo è come la mia build ant javac sembra ora. Per conoscere di più sulla forcella, si prega di riferimento ant documentazione.

  15. 0

    Per risolverlo:

    Se si utilizza Eclipse:

    Spostare .m2 repository per

    c:\
    Vai a Eclipse > Windows/Preferenze/Maven/Utente Impostazioni -> Creare il proprio setting.xml con il suo contenuto:

    <settings>
      <localRepository>c:/.m2/repository</localRepository>
    </settings>

    Se si utilizza IntelliJ:
    Andare a IntelliJ > facendo clic con il pulsante destro del mouse su “pom.xml” > maven > creare “settings.xml”

    con il suo contenuto:

    <settings>
          xmlns="yourcontent"
          xmlns:xsi="yourcontent"
          xsi:schemaLocation="yourcontent.xsd">
      <localRepository>c:/.m2/repository</localRepository>
    </settings>

Lascia un commento