Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 Получить перечень ресурсов в war  [new]
GeniyZ
Member

Откуда: Ростов-на-Дону
Сообщений: 52
Добрый день.

Создаётся war-приложение.

В ресурсах, в WEB-INF/classes/... лежит куча ресурсов. В основном там sql скрипты и xmlи, их много, они разложены по каталогам.

Надо написать код, чтобы их все обойти в алфавитном порядке (с учётом каталогов) и отправить в базу данных.

Имена их заранее не известны, их пишут разные люди в разное время.

Навскидку - возможны два варианта:
1. как-то в методе научиться определять имена ресурсов в каталоге (но я не понимаю как это сделать);
2. на этапе сборки формировать в ресурсах какой-нибудь файл с перечнем всех ресурсов, с предопределённым именем, например `index` (мы используем maven, и как это сделать элегантно и кроссплатформенно - я тоже пока не понимаю);

Прошу подсказать.

Признателен
5 ноя 20, 10:23    [22226669]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
GeniyZ,
Переименуйте расширение war на zip.
Получилось?
5 ноя 20, 10:31    [22226675]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
GeniyZ
Member

Откуда: Ростов-на-Дону
Сообщений: 52
PetroNotC Sharp, и?
5 ноя 20, 11:59    [22226769]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5790
GeniyZ
как-то в методе научиться определять имена ресурсов в каталоге (но я не понимаю как это сделать)

для уже загруженной библиотеки
5 ноя 20, 12:31    [22226793]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
GeniyZ
PetroNotC Sharp, и?

Увидел файлы внутри архива?
Вот также можно и либой открыть архив и посчитать файлы
5 ноя 20, 12:42    [22226808]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
mayton
Member

Откуда: loopback
Сообщений: 49762
GeniyZ

2. на этапе сборки формировать в ресурсах какой-нибудь файл с перечнем всех ресурсов, с предопределённым именем, например `index` (мы используем maven, и как это сделать элегантно и кроссплатформенно - я тоже пока не понимаю);

В jar (утилите) есть коробочная возможность создавать index-файл. Но кажется тебе не это надо.
5 ноя 20, 14:23    [22226889]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
GeniyZ
Member

Откуда: Ростов-на-Дону
Сообщений: 52
Kachalov,

Благодарю.
Находил такое. Пробовал. "Сканнер" не завёлся. Поразбираюсь ещё. Признателен.
5 ноя 20, 14:41    [22226911]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
GeniyZ
Member

Откуда: Ростов-на-Дону
Сообщений: 52
mayton,

Вот если б при сборке war'а можно было бы генерить такоей index-файл, было бы хорошо.

Но руками его как-то собирать - не удобно. А как это заавтоматизировать, чтоб при сборке maven его генерировал бы - что-то я не нахожу такого.

Но поищу ещё.
5 ноя 20, 14:44    [22226915]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10760
Package java.util.jar вообще ни накакие мысли не наводит?
5 ноя 20, 14:55    [22226926]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
GeniyZ
Member

Откуда: Ростов-на-Дону
Сообщений: 52
Basil A. Sidorov
Package java.util.jar вообще ни накакие мысли не наводит?


PetroNotC Sharp
GeniyZ
PetroNotC Sharp, и?

Увидел файлы внутри архива?
Вот также можно и либой открыть архив и посчитать файлы


Ну это же извращение открывать в данный момент исполняемый файл. Открывать и анализировать самого себя в момент исполнения? Неее...
Более того, на какой-нибудь винде это ещё может и не получится, в силу блокировок операционной системой.

А ещё, навскидку, это ещё задача - как определить путь к этому файлу. Я его заранее не могу знать. Будет где-то лежать в каком-нибудь TomCat или Jetty, или ещё где-нибудь... А может он вообще будет распакованный.
5 ноя 20, 16:58    [22227011]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
GeniyZ,

Я фигею с тебя.
Извращение вот это
автор
Надо написать код, чтобы их все обойти в алфавитном порядке (с учётом каталогов) и отправить в базу данных.

И это не исполняемый файл))
5 ноя 20, 17:06    [22227018]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
GeniyZ
Basil A. Sidorov
Package java.util.jar вообще ни накакие мысли не наводит?


PetroNotC Sharp
пропущено...

Увидел файлы внутри архива?
Вот также можно и либой открыть архив и посчитать файлы


Ну это же извращение открывать в данный момент исполняемый файл. Открывать и анализировать самого себя в момент исполнения? Неее...
Более того, на какой-нибудь винде это ещё может и не получится, в силу блокировок операционной системой.

А ещё, навскидку, это ещё задача - как определить путь к этому файлу. Я его заранее не могу знать. Будет где-то лежать в каком-нибудь TomCat или Jetty, или ещё где-нибудь... А может он вообще будет распакованный.
у тебя тут сразу 6 ошибок предположений и утверждений.
5 ноя 20, 17:07    [22227022]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
mayton
Member

Откуда: loopback
Сообщений: 49762
GeniyZ

А ещё, навскидку, это ещё задача - как определить путь к этому файлу. Я его заранее не могу знать. Будет где-то лежать в каком-нибудь TomCat или Jetty, или ещё где-нибудь... А может он вообще будет распакованный.

Почитай общие сведения о том как работает Classloader.

Собственно курс молодого бойца (Java junior) обычно включает в себя эту тему.

По поводу того кто там чего блокирует. Проверь сначала.
5 ноя 20, 17:44    [22227054]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
GeniyZ
Member

Откуда: Ростов-на-Дону
Сообщений: 52
mayton
GeniyZ

А ещё, навскидку, это ещё задача - как определить путь к этому файлу. Я его заранее не могу знать. Будет где-то лежать в каком-нибудь TomCat или Jetty, или ещё где-нибудь... А может он вообще будет распакованный.

Почитай общие сведения о том как работает Classloader.

Собственно курс молодого бойца (Java junior) обычно включает в себя эту тему.

По поводу того кто там чего блокирует. Проверь сначала.


Прошу тогда разъяснить, как связаны Classloader и предложение раззиповывать war?

Может я что-то не так понял, но понял именно так.
5 ноя 20, 18:34    [22227088]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
GeniyZ,
Не связаны.
Пойи в магазин можно кучей разных несвязанных методов.
5 ноя 20, 21:04    [22227171]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
Тролин
Member

Откуда: БСП
Сообщений: 363
GeniyZ
Добрый день.

Создаётся war-приложение.

В ресурсах, в WEB-INF/classes/... лежит куча ресурсов. В основном там sql скрипты и xmlи, их много, они разложены по каталогам.

Надо написать код, чтобы их все обойти в алфавитном порядке (с учётом каталогов) и отправить в базу данных.

Имена их заранее не известны, их пишут разные люди в разное время.

Навскидку - возможны два варианта:
1. как-то в методе научиться определять имена ресурсов в каталоге (но я не понимаю как это сделать);
2. на этапе сборки формировать в ресурсах какой-нибудь файл с перечнем всех ресурсов, с предопределённым именем, например `index` (мы используем maven, и как это сделать элегантно и кроссплатформенно - я тоже пока не понимаю);

Прошу подсказать.

Признателен


в Linux

zipinfo -1 my-app.jar (возможно и war проканает)

META-INF/MANIFEST.MF
META-INF/
com/
com/mycompany/
com/mycompany/app/
META-INF/maven/
META-INF/maven/com.mycompany.app/
META-INF/maven/com.mycompany.app/my-app/
com/mycompany/app/App.class
META-INF/maven/com.mycompany.app/my-app/pom.properties
META-INF/maven/com.mycompany.app/my-app/pom.xml


Так надо получить?
6 ноя 20, 10:00    [22227362]     Ответить | Цитировать Сообщить модератору
 Re: Получить перечень ресурсов в war  [new]
mayton
Member

Откуда: loopback
Сообщений: 49762
В топике уже есть несколько способов. Пускай автор разбирается.
6 ноя 20, 11:23    [22227405]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить