Как использовать подстановочный шаблон в classpath для добавления нескольких банок?

Я использую так много сторонних библиотек (jar-файлов), что мой CLASSPATH полностью перепутан, так как я должен включить путь для каждого файла jar, который я использую.

Мне было интересно, есть ли способ включить все файлы jar в папку с помощью подстановочного (*) оператора (например, * .jar). Но, похоже, это не работает. Есть ли другой способ, который может сократить CLASSPATH, который в настоящее время выглядит как эссе;) на моем ПК ?.

4 Solutions collect form web for “Как использовать подстановочный шаблон в classpath для добавления нескольких банок?”

От: 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 и серверами приложений. Почему у вас это есть? Я бы рекомендовал удалить его.

Давайте будем гением компьютера.