سؤال

ولدي هذه الصفحة التخطيط الاستراتيجي المشترك بسيطة:

<%@ page language="java" import="java.awt.Color"%> <%
Color background = Color.white;
%>

والذي فشل مع الخطأ التالية:

java.lang.NoClassDefFoundError
    at _text__jsp._jspService(/text.jsp:3)
    at com.caucho.jsp.JavaPage.service(JavaPage.java:75)
    at com.caucho.jsp.Page.subservice(Page.java:506)
    at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182)
    at com.caucho.server.http.Invocation.service(Invocation.java:315)
    at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)
    at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:346)
    at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:274)
    at com.caucho.server.TcpConnection.run(TcpConnection.java:139)
    at java.lang.Thread.run(Thread.java:534)

وأنا على التوالي على الراتنج 2.1.13.

وأي فكرة ما يسبب هذا؟

هل كانت مفيدة؟

المحلول

وغير متأكدة من هذه القضية. لا أستطيع تشغيل التعليمات البرمجية بنجاح في بلدي القط. قد تكون هذه المشكلة هو خاص لالراتنج. أو، كما يقول ديف، قد تكون قضية مقطوعة الرأس.

وأفضل رهان هو لتحويل الصورة في بعض POJO ثم يبصقون ذلك إلى المتصفح، أو قد يكون حفظه في مكان ما على القرص ومن ثم ربطه في JSP الخاصة بك. إذا استمرت المشكلة، حاول تشغيل في وضع مقطوعة الرأس، كما أشار ديف بها.

وعلاوة على ذلك، من المهم أن نفهم أن JSP هي تقنية رأي لشبكة الإنترنت، ويجب ألا تفعل هذا النوع من التلاعب الرسومات.

نصائح أخرى

في الماضي كنت قد استخدمت الطبقات AWT داخل حاويات بريمج. القضية التي تحتاج إلى التعامل معها هي أنه، على نظام الخادم، ربما لا يوجد عرض الرسومات تشغيل هذا الهجوم الجوي يمكن الاتصال به، والذي افتراضيا يؤدي إلى الفشل.

والحل هو لتمرير خاصية النظام الذي يروي الهجوم الجوي كان يعمل على "مقطوعة الرأس" النظام. بشكل عام يتم ذلك عن طريق تمرير "-Djava.awt.headless = صحيح" إلى سطر الأوامر جافا.

وهنا إشارة بشأن إنجاز هذا لراتنج: HTTP: // www.caucho.com/support/resin-interest/0209/0062.html. أفاد OP في هذا الموضوع أيضا خطأ NoClassDefFound.

وكان هذا نفس القضية على القط على لينكس. أود أن أحصل على هذه الرسالة بشكل متقطع. وكان من المقرر أن maxing خارج عدد من واصفات الملف المفتوح على نظام التشغيل.

وأنا لست متأكدا كيف جافا الأحمال الطبقات كما هو مطلوب، ولكن أفترض هذا الحد توقف ذلك من الطبقات تحميل أنه يحتاج من وقت التشغيل.

وتابعت هذه التعليمات الموضحة هنا:

كيف أغير عدد الملفات المفتوحة تحد في لينكس؟

وهي:

ووضع حد القرص الثابت في /etc/security/limits.conf

* hard nofile 64000

وتسجيل الخروج وتسجيل الدخول مرة أخرى، ثم تشغيل:

ulimit -n 64000

وفي بلدي جلسة قذيفة قبل البدء القط. وأضاف لي الأمر أعلاه إلى ملف .bashrc بي للتأكد من أن الحدود تم تعيين كل مرة كنت بتسجيل الدخول.

وبعض VM مع خيار -Server لا تحميل java.awt. حزمة على الإطلاق (ولا javax.swing وغيرها)

وهذا هو لتجنب الطبقات تحميل لن تكون هناك حاجة.

وبالمناسبة، فإن الطبقة

java.awt.Color

ولن يكون هناك أي فائدة في صفحة التخطيط الاستراتيجي المشترك. يتم استخدامه لعرض الألوان في تطبيقات جافا سطح المكتب.

وماذا تحاول أن تفعل؟ ربما هناك طريقة أفضل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top