[Java] Dependency Hell

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod georg68 26. 5. 2022 08:33

Zdravím. Máme J2EE aplikaci a implementujeme do ní datové schránky.
Našli jsme na to free knihovnu i se zdroji, která potřebuje BouncyCastle knihovnu bcpkix-jdk15on.jar
(verze je důležitá!) . Knihovna je uvedena v mavením pom.xml. Potud vše ok.
Problém začíná na tomto kódu

Kód: Vybrat vše
private final AlgorithmNameFinder algorithmNameFinder = new DefaultAlgorithmNameFinder();


Class DefaultAlgorithmNameFinder je v bcpkix-jdk15on.jar, ale stejně je vyhozena výjimka

Could not initialize class org.bouncycastle.operator.DefaultAlgorithmNameFinder NoClassDefFoundError

Vylistoval jsem si všechy knihovny z aplikace a vidím, že tam jsou i starší BouncyCastle knihovny:
bcmail-jdk14.jar, bcprov-jdk14.jar and bctsp-jdk14.jar. Žádná z nich není uvedena jako dependency
v pom.xml a žádná z nich neobsahuje DefaultAlgorithmNameFinder class.
Ale tyto knihovny si pravděpodobně dynamicky dotahuje knihovna Jasper.
bcpkix-jdk15on.jar je ale v pom.xml dependencies daleko před Jasperem.

Narozumím tomu, proč class loader hledá class jen v '14' knihovnách a potom ne už v '15' ?

Máte někdo vysvětlení, případně řešení ?

Díky.
georg68
Junior



Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků