Я использую библиотеку Jasper для совершения вызовов в прологовом файле. Это, как это делается вызов:Путь к ресурсу внутри исполняемого jar
sics = new SICStus();
sics.load("https://stackoverflow.com/a/string/with/path/to/source.pl");
Что я пытаюсь сделать, это генерировать банку исполняемый файл, который содержит исходный файл. Проблема в том, что я не могу найти способ получить путь к ресурсу, содержащемуся в банке. До сих пор я могу получить URL к банку:
URL url = getClass().getResource(file_name);
String path = url.getPath();
Вопрос заключается в том, как я могу дать объект «ПКИ» путь к исходному файлу source.pl в банке?
Что заставило меня понять проблему:
файлов в Java может представлять только прямые файлы файловой системы, а не те, в зип/фляги архивы. Чтобы исправить это: Попробуйте использовать
getClass().getResourceAsStream()
и используйте это вместоFile
.
Ссылка:URI is not hierarchical exception when running application from JAR
Да, я видел все эти сообщения, попробовал все варианты, которые они дали. Это может быть моя ошибка, но я нахожу эти ответы или пытаюсь решить проблему или просто недостаточно ясно. –