dll извлечение из файла jar - PullRequest
0 голосов
/ 15 декабря 2011

При извлечении файла rxtxSerial.dll из файла jar это исключение

java.lang.NullPointerException
    at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1383)
    at org.apache.commons.io.IOUtils.copy(IOUtils.java:1357)
    at weighmentdesk.Weighment.loadJarDll(Weighment.java:940)
    at weighmentdesk.Weighment$5.run(Weighment.java:569)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

Я нахожу файл с

getClass().getResourceAsStream("resources\\rxtxSerial.dll")

есть ли проблемы? Если нет, есть ли альтернативное решение для извлечения файла DLL в системный корневой каталог (system32).

Заранее спасибо.

1 Ответ

1 голос
/ 15 декабря 2011

вполне возможно, getClass (). GetResourceAsStream ("resources \ rxtxSerial.dll") возвращает ноль, если он находится в корне файла jar, попробуйте:

getClass().getResourceAsStream("/rxtxSerial.dll")

, если он находится в каталоге dir с именем resources, попробуйте:

getClass().getResourceAsStream("/resources/rxtxSerial.dll")

и так далее ...

...