Я использовал следующий сценарий оболочки в проекте портала jboss, чтобы получить список файлов jar, которые используются в операторах импорта.Это будет работать только для прямых зависимостей, а не для динамически загружаемых или даже когда полное имя класса использовалось в источнике.Кроме того, все jar-файлы и их транзитивные зависимости предоставляются контейнером, поэтому они нужны только для компиляции кода.
Цель состояла в том, чтобы создать maven pom для проекта и найти файлы, которые должны бытьразвернут в наш менеджер хранилища Nexus.Это может быть полезно в качестве отправной точки для перечисления файлов, которые определенно необходимы, остальные файлы jar должны быть проверены другими способами.Если jar-файл также доступен в репозитории maven, вы можете посмотреть его зависимости, например.
#!/bin/sh
JBOSS_HOME=/path/to/jboss/installation
JBOSS_LIB=$JBOSS_HOME/server/default/lib
JBOSS_DEPLOY=$JBOSS_HOME/server/default/deploy
SRC_DIR=src
for f in $JBOSS_LIB/*.jar $JBOSS_DEPLOY/jboss-portal.sar/lib/*.jar $JBOSS_DEPLOY/jboss-portal.sar/portal-cms.sar/lib/*.jar $JBOSS_DEPLOY/ejb3.deployer/*.jar
do
for c in `jar -tf $f | tr '/$' '..'`
do
#echo "^import ${c%.class};"
if `grep "^import ${c%.class};" -h -r $SRC_DIR -q`
then
echo $f $c
fi
done
done