Bir yerde JAR dosyaları onlarca içinde bir sınıf bulmak?
Nasıl jar dosyalarının çok sayıda içinde belirli bir sınıf adı bulmak istiyorsunuz?
(Gerçek bir sınıf ismi arıyoruz, başvuru sınıflar değil.)
CEVAP
Unix
jar
(unzip -v
) grep
find
komutları.
Örneğin, aşağıda verilen bir ad ile eşleşen tüm sınıf dosyaları listeler:
for i in *.jar; do jar -tvf "$i" | grep -Hsi ClassName; done
Eğer arama yapmak istediğiniz Java arşiv tam listesini biliyorsanız, (sembolik) aynı dizin kullanarak bağlantıları yerleştirin.
Ya da belirli bir sınıf adı içeren find
(büyük / küçük harf duyarlı) JAR dosyayı bulmak için kullanın:
find path/to/libs -name '*.jar' -exec grep -Hls ClassName {} \;
Örneğin, arşiv adı IdentityHashingStrategy
içeren bulmak için:
$ find . -name "*.jar" -exec grep -Hsli IdentityHashingStrategy {} \;
./trove-3.0.3.jar
Eğer KAVANOZ olabilirher yerdesistemi locate
komut kullanılabilir:
for i in $(locate "*.jar");
do echo $i; jar -tvf $i | grep -Hsi ClassName;
done
Windows
Açık bir komut, dizin (veya dizin atası) KAVANOZ içeren isteminde, dosyalar:
for /R %G in (*.jar) do @jar -tvf %G | find "ClassName" > NUL && echo %G
İşte nasıl çalışır:
for /R %G in (*.jar) do
- KAVANOZ dosyalar üzerinde döngü, geçme dizinleri özyinelemeli olarak; %G. dosya adını saklamak@jar -tvf %G |
- verilen arşiv içindeki dosya isimlerinin listesi ve standart çıktıya sonuçları yazmak için Java Arşiv komutu çalıştırın;@
sembol komutu çağırma baskı bastırır.find "ClassName" > NUL
arama standart giriş, borulu çıktısı jar komutu için verilen sınıf adı; ayarlarERRORLEVEL
1 ıff maç var değil mi (yoksa 0).&& echo %G
-ERRORLEVEL
sıfır, standart çıktı (konsol) için Java arşiv dosyası adı yazın ıff.
Web
Ya da bu arama motoru deneyin:
Grafik
Ya da bir grafik yazılımı kullanarak oluşturun:
Nasıl unıx ve son bir saat içinde oluş...
Git içinde bir tamamlama için tüm dosy...
Hangi karakter CSS sınıf isimleri/seçi...
Java sınıf yolu içinde birden fazla ka...
Objective C içinde soyut bir sınıf olu...