Прежде всего, вы не можете получить ссылку на путь к исходному файлу во время выполнения.
Но вы можете получить доступ к ресурсам, включенным в ваш classpath (там, где вы скомпилировали файлы .class).
Обычно ваш компилятор копирует XML-файл, включенный в ваш каталог srouce, вкаталог сборки, так что, наконец, у вас может получиться что-то вроде этого:
C:/Workspace/Appl/classes/org/abc/bm/TestFile.xml
C:/Workspace/Appl/classes/org/abc/bm/tests/CheckTest.class
Затем, когда ваш путь к классу указывает на корневой каталог скомпилированных классов, вы получаете ресурсы из этого каталога, используя ClassLoader.getResource метод (или эквивалентный Class.getResource () метод).
public class Check {
public void checkMethod() {
java.net.URL fileURL=this.getClass().getResource("/org/abc/bm/tests/TestFile.xml");
File f=new File( fileURL.toURI());
}
}