2013-02-06 26 views
5

Ho un problema quando provo a eseguire la classe di test JUnit in Eclipse.Errore 206 nel test JUnit in Eclipse

Si è verificata un'eccezione durante l'esecuzione della riga di comando. Impossibile eseguire il programma "C: \ Programmi \ Java \ jre7 \ bin \ javaw.exe" (nella directory "C: \ Utenti \ Utente \ Documenti \ Progetti \ MyProject"): Errore CreateProcess = 206, Il nome file o l'estensione è troppo lungo

Dopo aver ricevuto questo errore ho iniziato a cercare come risolvere il problema ... Tuttavia ora ho generato il file MANIFEST che contiene tutti i barattoli di cui ho bisogno, ma non so come passare il nuovo file manifest nel progetto e anche cosa fare con i jar nella mia cartella lib?

Grazie in anticipo!

EDIT:

ho classe SimpleTest e classe TestRunner

public class SimpleTest { 

    @Test 
     public void testAssertions() { 

      String str1 = new String ("abc"); 
      String str2 = new String ("abc"); 

      assertEquals(str1, str2);  
    } 
    } 

package com.epb.junit; 

import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 

public class TestRunner { 
    public static void main(String[] args) { 
     Result result = JUnitCore.runClasses(SimpleTest.class); 
     for (Failure failure : result.getFailures()) { 
     System.out.println(failure.toString()); 
     } 
     System.out.println(result.wasSuccessful()); 
    } 
} 

Niente di interessante qui, ho solo bisogno di sapere come imballare tutti i miei file JAR, che sto usando, perché sono troppo molti ... Ho creato un file manifest con tutti loro ma non so come passarlo al posto dei file JAR.

P.S Sto eseguendo la classe di test con Eclipse -> Esegui come -> Opzione JUnit Test. Dopo che si è verificato l'errore, ho creato questa classe TestRunner e la eseguo come applicazione Java ma ancora Error 206. Dalle cose che ho letto ho capito che il mio percorso di costruzione è troppo lungo, perché ci sono molti JARS quindi ora Sto cercando un modo per accorciare questo percorso e imballare i vasi in uno solo. Ho provato ad esportare la cartella lib in file Jar ma non ha funzionato.

EDIT 2

L'ultima cosa che ho provato poco prima di un momento è quello di creare un "barattolo pathing", che contiene file solo MANIFEST.MF al suo interno. Ho inserito questo jar nel mio progetto Build Path invece di tutti gli altri jar ma ancora nessun risultato ... ora il progetto ha errori per il percorso incorporato ...

+0

Da nessuna parte abbastanza informazioni nella vostra domanda per rispondere. Si prega di condividere maggiori dettagli sulla classe di test, su come la si sta eseguendo, sul perché il proprio JAR è pertinente, ... –

+0

Problema risolto! https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193 – cyrat

+0

Questa è una buona notizia. Si prega di inviare una risposta alla tua domanda. Puoi quindi accettarlo dopo 48 ore. –

risposta

4

Tutto quello che devi fare è seguire questi passaggi:

  1. copiare il vostro eclipse/plugins/org.eclipse.jdt.launching_3.4. *. jar ad un luogo sicuro al di fuori della cartella plugin, in modo da avere sempre un modo per tornare
  2. vicino Eclipse
  3. rinomina * .jar in * .zip
  4. apre il file zip e copia la classe 4 file dal attaccamento a org \ eclipse \ jdt \ \ interno di lancio (sostituire i file esistenti)
  5. vai a META-INF nel file zip e cancellare tutti i file tranne MANIFEST.MF
  6. estratto MANIFEST.MF a il disco e modificare con un editor di testo
  7. rimuovere tutto a partire dal primo "NAME:" entry
  8. assicuratevi di lasciare due (2) caratteri di interruzione riga alla fine del file!
  9. salvare il MANIFESTO.MF e copiarlo nel file zip
  10. rinomina il * .zip torna a * .jar
  11. Sostituisci il vaso modificato con il barattolo nella tua directory Eclipse/plugin!
  12. Buon divertimento!

PS. ATTACCO dal punto 4 può essere scaricato da qui:

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

Grazie a Mr.Markus Keller che hanno creato quei passi!

+0

quali 4 classi devono copiare, come vedo molte classi ma non sono in grado di capirlo dalle quattro classi? – user1010399

+0

Possiedo Eclipse JEE Indigo SR2 (x64), ho alcuni progetti GWT aperti e, all'avvio di Eclipse, ricevevo lo stesso messaggio di errore da DataNucleus Enhancer. Sono troppo contento di sapere che i passaggi descritti in questa risposta funzionano anche per questa versione di Eclipse, con l'unica differenza che è il numero di versione del jar di cui eseguire il backup (3.6 anziché 3.4). Le classi da utilizzare per sostituire (vale a dire LongCommandLineLauncher.class, StandardVMDebugger $ ConnectRunnable.class, StandardVMDebugger.class e StandardVMRunner.class) sono in effetti più recenti di quelle originali sebbene l'allegato provenga dalla versione 3.5 di Eclipse. –

-1

Ho risolto questo attenendosi ai seguenti passaggi. Per favore, fai quanto segue

Seleziona Progetto-> Proprietà-> scegli Google App Engine -> ORM e includi solo le directory che contengono classi che desideri migliorare.

Problemi correlati