У меня есть два Maven проектов A и B. В зависит от А.Как читать файл из проекта зависимости Maven?
В А, У меня есть файл someFile.txt
в папке src/main/resources
.
public class SomeAClass
{
public void someMethod()
{
final InputStream inputStream =
Thread.currentThread()
.getContextClassLoader()
.getResourceAsStream("someFile.txt");
final List<String> lines = IOUtils.readLines(inputStream);
...
}
}
В тестах А это прекрасно работает.
Теперь представьте себе, что я хочу использовать тот же код в B, в том числе возможность считывать данные с src/main/resources/someFile.txt
.
Прямо сейчас, вызывающий SomeAClass.someMethod()
из проекта B вызывает исключение NullPointerException, и я подозреваю, что это потому, что src/main/resources/someFile.txt
не может быть найден.
Как я могу изменить код для получения входного потока для src/main/resources/someFile.txt
, чтобы он работал как в модульных тестах A, так и при выполнении B (B - консольное приложение на основе Spring Shell)?
Вы используете данный код в IDE? –
Нет, я запускаю 'mvn clean package', затем запускаю полученное приложение Spring Shell, используя' java -jar target/myjar.jar'. Здесь происходит NPE. –
У вас есть 2 банки, не так ли? –