Ошибка при исполнении JAR-файла: файл не найден

Я написал небольшую программу, которая генерирует табличку с текстом. Сами таблички реализованы через itextpdf. Для того, чтобы табличка корректно отображала кириллицу, я использую шрифт Helvetica.

Переменной FONT передается расположение шрифта, который находится в папке Resourcesрасположение в проекте

public static void main(String[] args) throws IOException {

    String FONT = "./src/main/resources/HelveticaRegular.ttf"; 

Но когда я собираю *.jar файл, после попытки запуска в консоли выводится сообщение:

Exception in thread "main" com.itextpdf.io.IOException: Font file ./src/main/resources/HelveticaRegular.ttf not found.

Если передавать полный путь к файлу, например:

public static void main(String[] args) throws IOException {

    String FONT = "C:\\Users\\megavatt\\Desktop\\HelveticaRegular.ttf"; 

то программа работает корректно.

Проблема в том, что я должен доставлять файл со шрифтом, для того, чтобы приложение работало, но мне неизвестна директория пользователя. Я могу как-то запустить приложение в консоли с тем шрифтом, который находится в папке resources?

Сделал вот так,

InputStream in = getClass().getClassLoader().getResourceAsStream("/HelveticaRegular.ttf");
BufferedReader reader = new BufferedReader(new InputStreamReader(in));

И появилась ошибка:

> Exception in thread "main" java.lang.NullPointerException
    at java.base/java.io.Reader.<init>(Reader.java:168)
    at java.base/java.io.InputStreamReader.<init>(InputStreamReader.java:76)
    at main.java.Main$1Font.<init>(Main.java:28)
    at main.java.Main.main(Main.java:35)

Ответы (0 шт):