Si sta verificando un comportamento particolare della configurazione di esecuzione di Eclipse e sembra che si tratti di un problema solo per Windows. Supponiamo che io sono un'applicazione Java che stampa gli argomenti della riga di comando, come il seguente:come evitare l'espansione di glob quando si esegue l'app Java in eclissi
public class WildCard {
public static void main(String[] args) {
for (String arg: args) {
System.out.println(arg);
}
}
}
Se fornisco argomento con una wild card che può essere ampliata dalla shell, la shell espanderla e dare a il programma Java. Non è una sorpresa. Quindi, se faccio sul prompt dei comandi
java WildCard test/*
il programma stamperà
test/foo.txt
test/bar.txt
dove foo.txt e bar.txt sono file nel "test" directory.
Le espansioni di shell possono essere prevenute se si circonda l'argomento con caratteri jolly tra virgolette; virgolette singole su * nix e virgolette doppie su Windows. Quindi per Windows, se faccio il seguente sul prompt dei comandi:
java WildCard "test/*"
il programma stamperà
test/*
(nessuna espansione).
Tuttavia, quello che trovo è che la citazione nel lanciatore di Eclipse sembra non avere alcun effetto, e l'argomento è ancora espanso. Se metto
"test/*"
nella sezione di discussione del programma nel periodo di lancio di Eclipse, ed eseguire la classe di cui sopra, ho ancora
test/foo.txt
test/bar.txt
In altre parole, le virgolette sembrano essere persi quando il il programma funziona davvero. Questo sembra accadere solo con Windows.
C'è un modo per impedire l'espansione di glob con Eclipse lancia l'avvio su Windows?
Sono propenso a credere che si tratti di un bug di eclissi, ma volevo vedere se c'è una valida soluzione al problema. – sjlee
Il mio suggerimento di sfuggire al carattere jolly con barre retroverse non funziona davvero. Funziona ** nel caso di test che ho usato (e non so ancora perché) ma non in altri casi. Sto cancellando la mia risposta poiché in realtà non risolve il problema. – Grodriguez
Ho trovato un bug eclissi esistente su questo ... http: // goo.gl/eM6e – sjlee