Не удается найти файл ресурса после экспорта проекта Java в виде JAR и попытки использовать его в динамическом веб-проекте в ECLIPSE - PullRequest
0 голосов
/ 28 мая 2018

У меня есть работающая java-программа, которая работает с базой данных с помощью derby.URL БД для подключения

jdbc: derby: // localhost: 1527 / MaorB_CouponDB

не жестко задан , а записывается вФайл .txt, расположенный в папке «files», а не в src.Выполнение проекта и тестирование системы, подобной этой, отлично работает.

2-я фаза проекта переносит все в сеть, и эта Java-программа выступает в роли мозга на сервере для выполнения действий с БД.Я экспортировал весь проект как .JAR, и я вижу, что он также включает в себя папку «files» (вместе с txt url, вместе с другими файлами).

однако, пытаясь запустить даже простой тест, чтобы проверить егов новом Динамическом веб-проекте (после импорта project.jar, derby_client.jar в качестве внешних библиотек) возникает исключение:

ERROR: something went wrong. cannot initialize a ConnectionPool instance. cause:
URL file not found, on connection pool CTOR
x.exceptions.ConnectionPoolException: URL file not found, on connection pool CTOR
    at b.connections.ConnectionPool.<init>(ConnectionPool.java:34)
    at b.connections.ConnectionPool.getInstance(ConnectionPool.java:73)
    at d.DAO.CompanyDbDAO.<init>(CompanyDbDAO.java:26)
    at f.system.CouponSystem.<init>(CouponSystem.java:36)
    at f.system.CouponSystem.getInstance(CouponSystem.java:58)
    at a.test.main(test.java:11)
Caused by: java.io.FileNotFoundException: files\urlFile (The system cannot find the path specified)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.util.Scanner.<init>(Unknown Source)
    at b.connections.ConnectionPool.<init>(ConnectionPool.java:31)
    ... 5 more

ручное копирование файла .txt в несколько меств новом веб-проекте не дает никаких результатов.

быстрое исследование здесь и в других местах предлагает как-то использовать:

this.getClass().getResourceAsStream("/files/urlFile.txt");

, но после того, как я пробовал несколько вариантов со строкой пути, я получаютолько ноль.

есть предложения?спасибо.


РЕДАКТИРОВАТЬ: вот все, что я пытался, и я думаю, что это актуально: приводит к нулю при попытке получить ресурс


РЕДАКТИРОВАТЬ2: inputtream имеет значение null, txt находится в разделе src / newfiles /

1 Ответ

0 голосов
/ 28 мая 2018

Убедитесь, что файл ресурсов находится в результате jar.Это часто является причиной таких ошибок.Если вы разместите свой файл сборки, вам будет легче помочь.

...