¿Cómo saber qué archivo jar proporciona una clase durante el tiempo de ejecución utilizando maven?

Ejecuto mi aplicación usando mvn jetty: run

En tiempo de compilación todo está bien, mi fila

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

se compila bien y el classpath muestra el jar apropiado. Sin embargo, en tiempo de ejecución obtengo la siguiente excepción y no puedo entender por qué:

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

Ahora estoy pensando que tal vez hay dos versiones diferentes de este Tidy en mi classpath (aparentemente, la única no se llama tidy, de lo contrario podría detectarlo en el classpath que muestra maven). Estoy intentando averiguar qué archivo jar es y hasta ahora he intentado lo siguiente:

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

Leí en alguna parte que la ruta debería mostrar el frasco pero aparentemente no con este cargador de clases ... ¿cómo puedo averiguarlo? Todo funciona como un amuleto en eclipse, pero cuando corro con Maven me sale este lío ... BTW eclipse dice

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta