использование библиотеки java.awt в выпуске Linux X11 - PullRequest
2 голосов
/ 23 марта 2011

Я пытаюсь создать видео, комбинируя набор изображений, доступных онлайн, используя Xuggle. Я реализовал это как сервис, используя JSP и Java. Я использую сервер Tomcat. Когда я развертываю его на своем локальном сервере, который работает в Windows, он работает нормально. Но когда я развернул его на сервере Linux, я получаю следующую ошибку.

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:500)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:410)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

Полагаю, это проблема без головы, которая возникает в средах без дисплея. Может кто-нибудь сказать мне, как решить эту проблему? Я нашел в Интернете, что PJA toolkit может решить эту проблему. но как я могу использовать это в Linux? если кто-то следовал этому подходу, пожалуйста, дайте мне пошаговые инструкции по использованию этого в Linux

1 Ответ

1 голос
/ 25 марта 2011

Мне удалось решить эту проблему. Когда на компьютере UNIX нет дисплея X11 (также называемого безголовой средой) или когда ресурсы GDI невелики в Windows, невозможно вычислять изображения вне экрана методами java.awt.Graphics в версии JDK <1.4, даже если вашей программе не нужно отображать эти изображения. Как правило, такая ситуация возникает для сервлетов, возвращающих динамически генерируемые изображения, такие как пироги, диаграммы или веб-счетчики. Если ваша версия JDK <1.4, обновите ее, потому что в JDK 1.4 и выше эта проблема решена. И тогда вам нужно включить безголовый режим. Вот как это делается: Если вы в Linux, введите export CATALINA_OPTS = "- DJava.awt.headless = true в файл / etc / profile. </p>

Надеюсь, это поможет кому-то еще, кто сталкивается с той же проблемой.

...