Вопрос в 2 раза. Как получить доступ к файлу из Maven, и, во-вторых, как получить доступ к файлу из вашего класса. Я предполагаю, что ваша сборка maven не работает, потому что она не прошла тест из-за отсутствующего файла.
Быстрые и грязные способы:
Введите полный путь. В зависимости от операционной системы перейдите к файлу в терминале и введите (OSX и nix): «pwd», скопируйте и вставьте полный путь в новый файл ()
Windows: эхо% cd%
ИЛИ ЖЕ
Как построить относительный путь в Java из двух абсолютных путей (или URL)?
Лучшие способы:
Возможно, вам следует добавить этот файл в ресурсы. По соглашению вы хотите разместить свои ресурсы в этой папке. Это облегчает доступ к вашим классам, также называемым class.getResource ("somefile.txt"), не нужно беспокоиться об относительном пути.
Также он добавляется в вашу флягу, когда вы распространяете свою программу.
Структура файла:
Соглашение src-> main -> resources -> load_data.csv
В вашем случае src -> test -> resources -> load_data.csv
Теперь, как ссылаться на ресурс из maven. Сложный способ добавления ресурсов во время сборки из документации Maven https://maven.apache.org/plugins/maven-resources-plugin.
<executions>
<execution>
<id>copy-resources</id>
<!-- here the phase you need -->
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/extra-resources</outputDirectory>
<resources>
<resource>
<directory>src/non-packaged-resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
Если вы не хотите, чтобы testResources были частью основного дистрибутива, вам нужно добавить тестовый профиль и исключить его из основной фазы / сборки. Еще немного документации https://maven.apache.org/plugins/maven-resources-plugin/testResources-mojo.html