Как использовать подстановочный шаблон в classpath для добавления нескольких банок?
Я использую так много сторонних библиотек (jar-файлов), что мой CLASSPATH полностью перепутан, так как я должен включить путь для каждого файла jar, который я использую.
Мне было интересно, есть ли способ включить все файлы jar в папку с помощью подстановочного (*) оператора (например, * .jar). Но, похоже, это не работает. Есть ли другой способ, который может сократить CLASSPATH, который в настоящее время выглядит как эссе;) на моем ПК ?.
- Необходимо выполнить поиск подстановочных знаков (*,? И т. Д.) В строке с использованием Regex
- Множественные подстановочные знаки для общих методов делают Java-компилятор (и меня!) Очень запутанным
- Проверьте, существует ли файл с шаблоном в сценарии оболочки
- Как найти список файлов с помощью шаблона
- Обозначение MongoDB в ключе запроса
- Дженерики, параметры типа и подстановочные знаки
- Найти все элементы на странице, чей идентификатор элемента содержит определенный текст, используя jQuery
- Разница между типичным типом и подстановочным типом
- Какова цель подстановочных знаков и как они отличаются от дженериков?
- java Runtime.getRunTime (). exec & wildcards?
- Как определить, отсортирован ли список в Java?
- Выбор всех столбцов, начинающихся с XXX с помощью шаблона?
- Использование шаблона для открытия книги Excel
От: http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html
Записи пути classа могут содержать символ подстановочного имени базы данных
*
, который считается эквивалентным заданию списка всех файлов в каталоге с расширением .jar или .JAR. Например, запись пути к файлуfoo/*
указывает все файлы JAR в каталоге с именем foo. Элемент classpath, состоящий просто из*
расширяется до списка всех файлов jar в текущем каталоге.
Это должно работать в Java6, не уверен в Java5
(Если кажется, что он не работает должным образом, попробуйте поставить кавычки, например: "foo/*"
)
Это работает в Windows:
java -cp "lib/*" %MAINCLASS%
где %MAINCLASS%
– это class, содержащий ваш основной метод.
В качестве альтернативы:
java -cp "lib/*" -jar %MAINJAR%
где %MAINJAR%
– это файл jar для запуска через свой внутренний манифест.
Базовые имена были введены на Java 6; т.е. «foo / *» означает все файлы «.jar» в каталоге «foo».
В более ранних версиях Java, которые не поддерживают шаблоны classов подстановочных знаков, я прибегал к использованию сценария оболочки оболочки для сборки classа Path путем «подбора» шаблона и искажения результатов для вставки символов «:» в соответствующих точках. Это было бы трудно сделать в файле BAT …
Если вы имеете в виду, что у вас есть переменная окружения CLASSPATH, я бы сказал, что это ваша ошибка. У меня нет такой вещи на любой машине, с которой я разрабатываю Java. CLASSPATH настолько привязан к конкретному проекту, что невозможно иметь единый, правильный CLASSPATH, который работает для всех.
Я устанавливаю CLASSPATH для каждого проекта, используя либо IDE, либо Ant. Я делаю много веб-разработки, поэтому каждая WAR и EAR использует свой собственный CLASSPATH.
Он игнорируется IDE и серверами приложений. Почему у вас это есть? Я бы рекомендовал удалить его.