Как загрузить файл свойств в Jar, когда утилита загрузчика - это другой jar - PullRequest
1 голос
/ 28 марта 2012

Я использую утилиту Property Loader, которая была упакована как jar (PropLoader.jar) в моем проекте (MyProject.jar).Мой файл свойств находится в другом пакете внутри MyProject.jar, т.е.com.my.project.resources.MyPropertyFile.properties, и я вызываю утилиту PropLoader (основной класс: PropLoader), которая ожидает ввод имени пропрофила в виде:

PropLoader.loadProperties("/com/my/project/resources/MyPropertyFile.properties")

Файл класса, в котором указан кодin: com.my.project.resources.MyLogic

Внутри утилита jar использует getResourcesAsStream.

Но это вызывает исключение нулевого указателя:

SEVERE: java.lang.NullPointerException
    at java.util.Properties$LineReader.readLine(Properties.java:418)
    at java.util.Properties.load0(Properties.java:337)
    at java.util.Properties.load(Properties.java:325)

Ответы [ 2 ]

1 голос
/ 19 мая 2012

Кажется, что он работает совершенно нормально, если развернут на другом сервере или даже развернут из другой рабочей области Netbeans!

Мой обходной путь для моего отвратительного рабочего пространства состоял в том, чтобы поместить файл свойств в PropLoader.jar

Я также обнаружил, что проблема с моим собственным рабочим пространством была испорчена CLASSPATH. Как только я исправил это, чтобы отразить мою папку проекта, все работало хорошо.

0 голосов
/ 28 марта 2012

Связан ли файл MyPropertyFile.properties как ресурс с вашим .jar? Если нет, то это ваша причина: загрузчик не может найти файл, как он ищет в .jar для ресурса.

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