Как использовать JNI с сервлетами? - PullRequest
2 голосов
/ 29 ноября 2011

Я пытаюсь использовать JNI с сервлетами, использующими JNI, но у меня, похоже, есть некоторые проблемы.

Я соответствую файлу .class, расположенному в "\ WebRoot \ WEB-INF \ classes", так как я не могу соответствовать файлу .java, так как он говорит, что мне не хватает импорта, который явно находится в верхней части файла. Я полагаю, что он не может сделать это правильно, так как нет основной функции, но насколько я читал, можно использовать JNI с сервлетами.

В любом случае, я смог получить .h файл из этого .class, и я смог отлично написать свой код C с помощью .h и создать .DLL. Я поместил DLL в папку "\ WebRoot \ WEB- INF \ classes ", а также пробовал его в" \ WebRoot \ WEB-INF \ lib ", но не смог заставить его работать без библиотеки в java.library.path.

Есть что-нибудь, чтобы помочь?

1 Ответ

2 голосов
/ 29 ноября 2011

Зависимости JNI разрешаются во время выполнения, а не во время компиляции.Если ваши файлы .java не компилируются, то у вас действительно есть проблема с вашими классами Java.Да, действительно возможно использовать JNI с сервлетами, вы можете загрузить собственную библиотеку во время фазы инициализации (метод init).Вы также помещаете свои DLL-файлы в классы WEB-INF \ вместе с их зависимостями.Затем, согласно сообщениям об ошибках, вы можете выяснить, есть ли что-то не так с DLL, ее зависимостями или функциями импорта.

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