Jak dowiedzieć się, jaki plik jar zapewnia klasę w czasie wykonywania za pomocą Maven?

Używam mojej aplikacji przy użyciu mvn jetty: run

W czasie kompilacji wszystko jest w porządku, mój wiersz

  Tidy tidier = new Tidy();
    tidier.setInputEncoding("UTF-8");

kompiluje się dobrze, a ścieżka klasy pokazuje odpowiedni słoik. Jednak w czasie wykonywania otrzymuję następujący wyjątek i nie mogę zrozumieć, dlaczego:

2009-11-11 17:48:53.384::WARN:  Error starting handlers
java.lang.NoSuchMethodError: org.w3c.tidy.Tidy.setInputEncoding(Ljava/lang/String;)V

Teraz myślę, że w mojej ścieżce klasy mogą istnieć dwie różne wersje tego schludnego (ten najwyraźniej nie ma nazwy tidy, w przeciwnym razie mógłbym go wykryć w ścieżce klasy pokazanej przez maven). Próbuję dowiedzieć się, jaki jest plik jar i jak dotąd próbowałem:

Class<?> tidyClass = Class.forName(Tidy.class.getName());
ClassLoader tidyLoader = tidyClass.getClassLoader();
String name = Tidy.class.getName() + ".class"; // results in tidyClass=class org.w3c.tidy.Tidy
System.out.println("resource="+tidyLoader.getResource(name)); // results in tidyLoader=org.codehaus.classworlds.RealmClassLoader@337d0f
System.out.println("path="+tidyLoader.getResource(name).getPath()); // results in resource=null

Czytałem gdzieś, że ścieżka powinna pokazywać słoik, ale najwyraźniej nie z tym programem ładującym klasy ... jak mogę to zrozumieć? Wszystko działa jak zaklęcie w zaćmieniu, ale kiedy biegam z mavenem, dostaję tego bałaganu

tidyClass=class org.w3c.tidy.Tidy
tidyLoader=sun.misc.Launcher$AppClassLoader@1a7bf11
resource=null so no jar info either.

questionAnswers(1)

yourAnswerToTheQuestion