как избежать расширения глобуса при запуске приложения Java в Eclipse

Я сталкиваюсь со специфическим поведением конфигурации запуска Eclipse, и это, похоже, проблема только для Windows. Предположим, у меня есть приложение Java, которое выводит аргументы командной строки, например:

public class WildCard {
    public static void main(String[] args) {
        for (String arg: args) {
            System.out.println(arg);
        }
    }
}

Если я предоставлю аргумент с подстановочным знаком, который может быть расширен оболочкой, оболочка развернет его и передаст программе Java. Это не удивительно. Итак, если я делаю в командной строке

java WildCard test/*

программа напечатает

test/foo.txt
test/bar.txt

где foo.txt и bar.txt - это файлы в каталоге «test».

Расширения оболочки могут быть предотвращены, если я заключу подстановочный аргумент в кавычки; одинарные кавычки на * nix и двойные кавычки на Windows. Так что для Windows, если я сделаю следующее в командной строке:

java WildCard "test/*"

теперь программа напечатает

test/*

(без расширения).

Тем не менее, я обнаружил, что цитирование в панели запуска Eclipse, похоже, не имеет никакого эффекта, и аргумент все еще расширяется. Если я поставлю

"test/*"

в разделе аргументов программы в Eclipse запустите панель запуска и запустите вышеупомянутый класс, я все еще получаю

test/foo.txt
test/bar.txt

Другими словами, двойные кавычки, похоже, теряются, когда программа действительно запускается. Кажется, это происходит только с Windows.

Есть ли способ предотвратить глобальное расширение с помощью запуска Eclipse в Windows?

Ответы на вопрос(2)

Ваш ответ на вопрос