Трюки с созданием JAR-файла для использования в CLASSPATH
Сталкивались с ситуацией: сгенерировали программно jar-файл, подложили в classpath, а ресурсы из него не загружаются?
В чем загвоздка? Давайте разбираться.
Чаще всего jar-файл создается через класс JarOutputStream. И тут нужно учитывать правила наименования файлов/папок в архиве:
- полные пути не должны начинаться с прямого слэша «/»
- имена директорий должны заканчиваться прямым слэшем «/»
- обратные слэши в пути не допустимы
Подробнее этот кейс разбирается в треде: https://stackoverflow.com/questions/1281229/how-to-use-jaroutputstream-to-create-a-jar-file