I think this is a situation every Java programmer runs into if they do it long enough. You're doing some debugging and make a change to class. When you go to re-run the program, these changes don't seem to be picked up but rather the old class still seems to be running. You clean and rebuild everything, same issue. Sometimes, this can come down to a classpath issue, of the same class being on the classpath more than once, but there doesn't seem to be an easy way to figure out where the class being loaded is coming from...
Is there any way to find the file path for the class that was loaded? Preferable something that would work either if the class was loaded from a .class
file or a .jar
file. Any Ideas?
Simply run java
using the standard command line switch"-verbose:class
" (see the java
documentation). This will print out each time a class is loaded and tell you where it's loaded from.