Относительный путь не работает при экспорте в jab для запуска в Eclipse - PullRequest
0 голосов
/ 06 июня 2018

Я делаю проект Java в Eclipse.Я использую некоторые относительные пути, такие как:

File htmlTemplateFile = new File("src/templateGeno2Pheno.html");

вместо абсолютных путей:

File htmlTemplateFile = new File("/Users/.../Documents/workspace/SeqAnalysis/src/templateGeno2Pheno.html");

Все работает очень хорошо, когда я запускаю его с Eclipse, но как только я экспортирую его взапустить JAR и выполнить его, он не работает.

Это моя структура папок: enter image description here

Вот мой код: enter image description here

1 Ответ

0 голосов
/ 06 июня 2018

После упаковки в JAR все, включая ваши HTML-шаблоны, заархивируются в этот JAR, и поэтому пути файловой системы не будут работать для вас.В Java нет системы адресации файлов, такой как ваш браузер / html.

Один из вариантов - загрузить эти HTML-шаблоны с помощью ClassLoader.getResourceAsStream API.

Измените код на:

InputStream stream = this.getClass().getClassLoader().getResourceAsStream("/templateGeno2Pheno.html");
String htmlString = IOUtils.toString(stream);

IOUtils из библиотеки ввода-вывода Apache Commons.

HTH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...