Eclipse: java.io.FileNotFoundException: (Система не может найти указанный файл)

public class RunTests {
public static void main(String[] args) {
    TestNG testNG = new TestNG();
    List<String> suites = Lists.newArrayList();         

    File xml = new File("xml.xml");
    suites.add(xml.getAbsolutePath());

    testNG.setTestSuites(suites);
    testNG.run();   
}
}  

В моем проекте Java есть папка src по умолчанию и отдельная папка, которую я создал под названием «config». config содержит пакет под названием «pkg» с классом Java «RunClass», а также XML-файлы, на которые run пытается ссылаться.

ProjectName
src

config
     pkg
       RunClass
       file.xml

введите здесь описание изображения Я добавил config в список источников в пути сборки, но RunClass по-прежнему жалуется, что не может найти файл.

Это дает:

java.io.FileNotFoundException: C:\Users\asdf\eclipse-workspace\NG\xml.xml (система не может найти указанный файл)


person displayName    schedule 15.11.2019    source источник
comment
Как вы думаете, почему путь сборки имеет какое-либо отношение к полученной вами ошибке? Какой код вызывает эту ошибку?   -  person JB Nizet    schedule 15.11.2019
comment
@JBNizet Я имел в виду этот аналогичный пост stackoverflow.com/questions/47100605/   -  person displayName    schedule 15.11.2019
comment
@ArvindKumarAvinash файл xml определенно находится в проекте, просто не в папке src по умолчанию. Идет config -> pkg -> [RunClass, xml.xml]   -  person displayName    schedule 15.11.2019
comment
Вопрос, на который вы ссылаетесь, как и ваш, не содержит никакого кода. Чтобы иметь возможность объяснить, почему ваш код ведет себя именно так, нам нужно увидеть этот код. Разместите код.   -  person JB Nizet    schedule 15.11.2019
comment
@JBNizet добавлено к моему исходному сообщению   -  person displayName    schedule 15.11.2019
comment
ХОРОШО. Прочитайте javadoc файла. В нем говорится: Относительный путь, напротив, должен интерпретироваться в терминах информации, взятой из какого-то другого пути. По умолчанию классы в пакете java.io всегда разрешают относительные пути к текущему пользовательскому каталогу. Этот каталог называется системным свойством user.dir и обычно является каталогом, в котором была вызвана виртуальная машина Java.. Таким образом, classpath совершенно не имеет значения. Относительный путь xml.xml будет разрешен на основе текущего каталога, то есть каталога, из которого вы выполняете команду java.   -  person JB Nizet    schedule 15.11.2019
comment
Так же, как и при выполнении notepad foo.txt, вы открываете файл foo.txt, расположенный в текущем каталоге.   -  person JB Nizet    schedule 15.11.2019