Me encuentro con un comportamiento peculiar de la configuración de ejecución de Eclipse, y parece ser un problema solo de Windows. Supongamos que tengo una aplicación Java que imprime los argumentos de línea de comandos, como el siguiente:cómo evitar la expansión global al ejecutar la aplicación Java en eclipse
public class WildCard {
public static void main(String[] args) {
for (String arg: args) {
System.out.println(arg);
}
}
}
Si proporciono discusión con un comodín que puede ser ampliado por la cáscara, la cáscara se expandirá y darle a el programa Java. Eso no es sorpresa. Por lo tanto, si lo hago en el símbolo del sistema
java WildCard test/*
el programa imprimirá
test/foo.txt
test/bar.txt
donde foo.txt y bar.txt son archivos de la "prueba" directorio.
Las expansiones de la carcasa se pueden evitar si rodeo el argumento comodín entre comillas; comillas simples en * nix, y comillas dobles en Windows. Así que para Windows, si hago lo siguiente en el símbolo del sistema:
java WildCard "test/*"
el programa imprimirá ahora
test/*
(sin expansión).
Sin embargo, lo que encuentro es que las comillas en el ejecutable de ejecución Eclipse parecen no tener ningún efecto, y el argumento aún se expande. Si pongo
"test/*"
en la sección argumento de programa en el plazo de lanzamiento de Eclipse, y correr la clase anterior, sigo teniendo
test/foo.txt
test/bar.txt
En otras palabras, las comillas dobles parecen estar perdido cuando el programa realmente se ejecuta. Esto parece suceder solo con Windows.
¿Hay alguna forma de evitar la expansión glob con el ejecutable de ejecución Eclipse en Windows?
Me inclino a creer que esto es un error con el eclipse, pero quería ver si hay una solución viable al problema. – sjlee
Mi sugerencia de escapar del comodín con barras diagonales realmente no funciona. ** Funciona ** en el caso de prueba que utilicé (y todavía no sé por qué), pero no en otros casos. Estoy borrando mi respuesta ya que en realidad no está resolviendo el problema. – Grodriguez
Encontré un error de eclipse existente en esto ... http: // goo.gl/eM6e – sjlee