Это не дает прямого ответа на ваш вопрос, но я уже попробовал подход, который вы предлагаете, но теперь создал бы один jar для приложения (смотрите, как это сделать с Ant ). Таким образом, не нужно ничего включать в classpath:
java -jar myApp.jar
это все, что вам нужно. Я считаю, это чище, но все спорно.
Это не имеет никакого значения с точки зрения производительности, поскольку каждое приложение запускается внутри собственной JVM.
Единственным недостатком является то, что некоторые библиотеки будут присутствовать в каждом файле JAR. Хранение на HD стоит только дороже, но в наши дни, МБ довольно дешевы :-) Я торгую простотой (без внешней папки lib) и без всякой прокрутки (не помещая ваши jar-файлы в папку Java ext) в любое время по цене хранилища , Если ваше приложение не содержит террабайт библиотек, я думаю, это нормально.
Для файла конфигурации Log4j я бы поместил один файл по умолчанию в jar, но предоставил пример файла конфигурации (log4j-custom.xml.sample)
, который кто-то может изменить и указать в командной строке:
java -Dlog4j.configuration=log4j-custom.xml -jar myApp.jar