Страницы

Поиск по вопросам

пятница, 24 января 2020 г.

Ant - создание Jar с библиотеками внутри

#ant #java


Что хочется сделать с помощью Apache Ant:

Создать 1 jar файл

Внутри него такая структура
/lib/ <- сюда складываем все библиотеки  
/META-INF/ <- здесь указываем Main-Class  
/com/... <- скомпилированные классы  
/тут файлы-конфиги


Возможно ли так сделать, если да, то как сложить все библиотеки которые находятся
в разных папках в папку lib + при вызове 
java -jar name.jar

эти библиотеки оказывали в classpath этого jar-ника
Спасибо.
Сделал так, но он складывает все классы в рут jar-ника (вместе с папками)

            
                
            
            
                
            
            
                
            
        
    


Ответы

Ответ 1



Насколько я понимаю у вас два вопроса: как сложить jar-ники в папку lib/ внутри другого jar. Это достигается при помощи аттрибута prefix у zipfileset как сделать так, чтобы при запуске java -jar name.jar то что в lib попадало в classpath. Этого можно достичь при помощи one jar, если не хочется возиться, причем тогда первая часть вопроса отпадает сама собой, или вручную при помощи Jar class loader

Ответ 2



Вроде бы как это нельзя сделать напрямую. Вам придётся специально заготавливать директорию в build, которая точно описывает содержимое jar'а.. заполнить её с помощью mkdir, copy, etc, а потом одним ударом запаковать jar'ом.

Комментариев нет:

Отправить комментарий