Вот ситуация.
Я реализую программное обеспечение для распознавания лиц в веб-приложении Java, которое включает в себя два файла .jar и собственную библиотеку .dylib.В обычном Java-приложении код работает нормально, однако, когда я пытаюсь загрузить библиотеку в сервлет, я получаю сообщение об ошибке, что файл .dylib не может быть найден.Как я могу заставить сервлет загрузить библиотеку, чтобы я мог получить доступ к программе распознавания лиц?
Вот мой код.Работающее приложение Java.
public static void main(String[] args) {
FSDK.ActivateLibrary("G2TfLOGUH8hQehjxiB...");
FSDK.Initialize();
FSDK.Finalize();
}
Вот сервлет.
@WebServlet(name = "glassesServlet", urlPatterns = {"/glassesServlet"})
public class glassesServlet extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
FSDK.ActivateLibrary("G2TfLOGUH8hQehjxiBZtJvjmwyu...");
FSDK.Initialize();
FSDK.Finalize();
} finally {
out.close();
}
}
Теперь вот ошибка, которую сервер выдает каждый раз, когда я пытаюсь запустить с сервера.
WARNING: StandardWrapperValve[glassesServlet]: PWC1406: Servlet.service() for servlet
java.lang.NoClassDefFoundError: Could not initialize class Luxand.FSDK$IFaceSDK
плюс некоторый другой код, который указывает, откуда он возник.Этот класс, Luxand.FSDK$IFaceSDK
, является классом внутри файла .jar, который хранится в папке библиотеки.
Любая помощь будет великолепна, спасибо!