मैंने आयात विवरणों में उपयोग की जाने वाली जार फ़ाइलों की सूची प्राप्त करने के लिए एक jboss पोर्टल प्रोजेक्ट में निम्न शेल स्क्रिप्ट का उपयोग किया। यह आपकी इच्छा केवल प्रत्यक्ष निर्भरताओं के लिए काम करेगा, न कि गतिशील रूप से लोड होने के लिए या यहां तक कि जब स्रोत में पूरी तरह से योग्य क्लासनाम का उपयोग किया गया था। इसके अलावा, सभी जार फ़ाइलों और उनकी संक्रमणीय निर्भरता कंटेनर द्वारा प्रदान की जाती हैं ताकि उन्हें केवल कोड संकलित करने की आवश्यकता हो।
लक्ष्य परियोजना के लिए एक मेवेन पोम बनाना था और हमारे नेक्सस भंडार प्रबंधक को तैनात करने के लिए आवश्यक फ़ाइलों को ढूंढना था। निश्चित रूप से आवश्यक फ़ाइलों को सूचीबद्ध करने के लिए प्रारंभिक बिंदु के रूप में उपयोगी हो सकता है, शेष जार फ़ाइलों को अन्य तरीकों से जांचना होगा। यदि जार एक मैवेन रिपोजिटरी में भी उपलब्ध है तो आप उदाहरण के लिए इसकी निर्भरताओं को देख सकते हैं।
#!/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
स्रोत
2010-11-19 12:13:43
बस इस कोशिश की। यह कई अप्रयुक्त जारों को इंगित करने में सक्षम था लेकिन कुछ हद तक चूक गए जिन्हें मैंने जानबूझकर परियोजना में जोड़ा। उपयोग की आसानी और विस्तृत रिपोर्ट के कारण अभी भी एक अनुशंसित टूल। इसके लिए धन्यवाद। –