2010-05-23 9 views
29

Quando lancio la nostra applicazione in Eclipse su Windows ricevo il seguente errore:Fail per lanciare l'applicazione (errore CreateProcess = 87), non è possibile utilizzare accorciare classpath soluzione

Exception occured executing command line.

Cannot run program .. : CreateProcess error=87, The parameter is incorrect

Ho risolto questo nella passato accorciando il CLASSPATH.

Sono giunto a un punto in cui non riesco più ad accorciare CLASSPATH e vorrei sapere se ci sono altre soluzioni alternative.

http://support.microsoft.com/kb/830473 sembra indicare che il comando lunghezza massima prompt della riga in Windows XP è 8191 caratteri, e l'unica soluzione è quella di abbreviare i nomi delle cartelle, ridurre la profondità di strutture di cartelle, utilizzando file di parametri, ecc

+0

hai trovato qualche soluzione alternativa per questo ancora? – subes

risposta

16

Questo eclipsecoding FAQ page non confermare la diagnosi:

When the CLASSPATH gets too long, the program cannot be launched (at least under Windows) - try to shorten your classpath. In the case of a plugin, you can try to remove unnecessary required plugins.

E avete here a thread dettaglio gli errori di registro.

Poiché è possibile avviare Eclipse, ma non l'applicazione, verificherei se non si dispone di troppi plug-in inclusi nella configurazione di avvio. Potresti controllare se hai added only the required plugins?

0

Ho riscontrato lo stesso problema. Cercare di pubblicare una pagina di album non avrebbe funzionato, qualunque cosa avessi provato. Ho controllato il contenuto della mia direcotry .plugins nell'area di lavoro. Ho notato molti file di indice nella directory de org.eclipse.jdt.core. Ho rinominato questa directory e ora è possibile eseguire nuovamente un processo di scrapbook.

12

Per risolvere il problema:

  1. Aprire la configurazione di esecuzione Eclipse per il compito che sta venendo a mancare.
  2. Scegliere la scheda percorso classe, selezionare il percorso di classe predefinito, fare clic sul pulsante "Modifica .."
  3. Selezionare la casella di controllo "Includere solo voci esportate".

Questo mi ha permesso di arrivare a questo problema su Eclipse 3.6 (Helios)

+0

Che non ha funzionato su SpringSource ToolSuite 2.5.1 Ho dovuto spostare i miei progetti in una cartella con un percorso di directory più piccolo. –

+0

+1 per questo come ha appena funzionato per me – chAmi

1

avevo a che fare con lo stesso problema su Eclipse, quindi, per questo motivo ho deciso di dare una prova per lo stesso progetto su Intellij, solo per sapere se si trattava di un problema IDE.

Sorprendentemente, Intellij rileva questo problema (lungo percorso di classe) e mi mostra una finestra di dialogo, raccomandandomi di utilizzare la funzione dinamica del percorso di classe. Dopo aver abilitato questa opzione, il problema è scomparso.

Cosa bandiera dynamic.classpath fa è: What does the dynamic.classpath flag do? (IntelliJ project settings)

Così, ora la mia domanda è: C'è un modo per fare la stessa cosa su Eclipse? sembra essere una soluzione semplice ed elegante a questi problemi, invece di rimuovere manualmente tutte quelle dipendenze che non sono necessarie.

2

Questo è sicuramente un problema con il classpath troppo lungo che causa il superamento del limite massimo della riga di comando. per risolvere, abbreviare il classpath. Se stai usando Maven (come lo ero io - ad esempio nello sviluppo Jive), modifica la posizione di .m2 cambiando le impostazioni di prova.xml

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

e quindi spostare il repository lì dalla directory degli utenti, ma assicurarsi che il settings.xml e le impostazioni-security.xml (se applicabile) sono ancora nella directory utente. In questo modo il percorso della classe non mostrerà più c: \ Documents and Settings \ username.m2 ma piuttosto c: .m2 consentendo una significativa diminuzione del classpath e quindi della lunghezza del comando. Ricorda che in Windows non puoi creare una directory (da solo) con nome .m2, e quindi devi tagliare la directory, incollare in c: e quindi copiarla nella tua cartella utente

1

Utilizzare un collegamento dinamico che può essere facilmente creato con juncion (http://technet.microsoft.com/en-us/sysinternals/bb896768). Crea il link per il tuo progetto e aggiungilo a Eclipse attraverso quello. utilizzo ad esempio: md d: \ shortname svincolo d: \ shortname \ d: \ my \ molto \ tempo \ tempo \ tempo \ tempo \ tempo \ tempo \ projectnamefolder

1

Questo è un bug noto in Eclipse: Bug 327193 - [patch] Avvio della riga di comando supera il limite del comando di creazione processo su Windows

Sarà risolto con Eclipse e4 4.3 rilasciato nel 2013. Non è stato ritenuto abbastanza importante da risolvere in 3.4.2. Ma negli allegati al bug, puoi trovare un paio di classi sostitutive per correggere la tua versione di Eclipse.

0

Una soluzione che ho per Eclipse, è quella di chiudere determinati progetti abilitati tramite la risoluzione dello spazio di lavoro, e invece di risolverli dal repository Maven locale. Ha funzionato comunque per me

0

Ho affrontato lo stesso problema, progetto refereed file jar non compilati. Supponiamo che tools-1.6.jar sia compilato e aggiunto come dipendenza. Successivamente potrebbe essere cambiato il codice sorgente per tools-1.6.jar e non eseguito #mvn clean install.

Ho eseguito la compilazione pulita e aggiornato la dipendenza di utenti, l'errore è stato risolto.

1

Da quando ho avuto lo stesso problema con Eclipse Helios (l'unica versione ufficialmente supportato dal nostro ufficio) e ho avuto una grande difficoltà di risolvere il problema, ecco la soluzione:

Installare l'ultimo Eclipse (nel mio caso 4.3.2 ha fatto il lavoro).

Questo problema era stato segnalato come un bug di Eclipse: https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193 ed è stato corretto.

Spero che questo aiuti i futuri utenti che raggiungeranno questa pagina.

Problemi correlati