سؤال

لدي Java 1.6 و Tomcat 5.5 مثبتة على نظامي.

لكن Tomcat 5.5 تصل إلى Java 1.5 ، وبالتالي كنتيجة أحصل على الخطأ Bad version number in .class file أثناء تنفيذ رمز Java مع JSP.

كيف يمكنني تغيير إصدار Tomcat إلى Java 1.6؟

تحديث

حاولت تغيير JVM أن tomcat5w.exe تشير إلى الإصدار 1.6 والآن أنا خارج Bad version in .class file خطأ. لكن الآن ، أحصل على الخطأ التالي.

exception

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:498)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

root cause

java.lang.NullPointerException
myfirst.SearchLink.checkURL(SearchLink.java:20)
org.apache.jsp.Test_jsp._jspService(Test_jsp.java:52)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

ماذا قد يكون السبب الجذري؟

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

المحلول

عندما تفتح catalina.sh / catalina.bat ، يمكنك أن ترى:

متغير البيئة المتغيرات

يجب أن يشير Java_home إلى تثبيت مجموعة Java Development Kit.

لذا ، اضبط متغير البيئة الخاص بك JAVA_HOME للإشارة إلى Java 6. تأكد أيضًا JRE_HOME يشير إلى نفس الهدف ، إذا تم تعيينه.

تحديث: بما أنك على Windows ، انظر هنا لكيفية إدارة متغيرات البيئة الخاصة بك

نصائح أخرى

يمكنك تغيير موقع JDK أو JRE باستخدام الخطوات التالية:

  1. افتح ال الطرفي أو CMD.
  2. اذهب إلى [tomcat-home]\bin الدليل.
    السابق: c:\tomcat8\bin
  3. اكتب الأمر التالي: Tomcat8W //ES//Tomcat8
  4. سيفتح الحوار ، حدد علامة التبويب جافا (الجزء العلوي).
  5. تغيير قيمة الجهاز الافتراضي Java.
  6. انقر نعم.

ملاحظة:في نفس الخطوات ذات نفس الخطوات ، ولكن الخطوه 3) يجب أن يكون الأمر: TomEE //ES

في Eclipse ، من السهل جدًا توجيه Tomcat إلى JVM جديد (في هذا المثال JRE6). كانت مشكلتي هي أنني لم أتمكن من العثور على مكان القيام بذلك. ها هي الحيلة:

  1. في القائمة العليا Eclipse ملف سحب علامة التبويب ، حدد الجديد, -->آخر
  2. ...على ال خادم جديد: حدد معالج نافذة ، حدد: الخادم-> الخادم... انقر التالي
  3. . على ال خادم جديد: تحديد خادم جديد نافذة ، حدد Apache> Tomcat 7 Server
  4. .. الآن انقر على السطر باللون الأزرق وأحمل خطًا بعنوان: تكوين بيئات وقت التشغيل
  5. على ال بيئات وقت تشغيل الخادم نافذة او شباك،
  6. ..تحديد أباتشي, ، قم بتوسيعه (انقر فوق السهم إلى اليسار) ، حدد Tomcat v7.0, ، وانقر تعديل.
  7. سترى نافذة تسمى تحرير بيئة وقت تشغيل الخادم: خادم Tomcat
  8. على هذه الشاشة ، يوجد مسقط رأسه جريس.
  9. يجب أن تجد JRE مدرجًا مثل JRE1.6.0.33. إذا لم تستخدم تثبيت JRE زر.
  10. حدد JRE المطلوب. انقر على إنهاء زر.
  11. الخروج برشاقة ، في الخادم: بيئات وقت تشغيل الخادم نافذة ، انقر نعم
  12. في ال خادم جديد: تحديد خادم جديد نافذة ، ضرب التالي
  13. في ال خادم جديد: أضف وإزالة نافذة ، حدد التطبيقات وقم بتثبيتها على الخادم.
  14. في ال خادم جديد: أضف وإزالة نافذة ، انقر إنهاء

هذا كل شئ. من المثير للاهتمام ، يبدو أن الخطوات 7-10 فقط مهمة ، وسوف يغيرون JRE المستخدمة على جميع الخوادم التي حددتها سابقًا لاستخدام Tomcat V7.0. بقية الخطوات هي فقط لأنه لا يمكنني العثور على أي طريقة أخرى للوصول إلى الشاشة إلا عن طريق تحديد خادم جديد. هل يعرف أي شخص آخر طريقة أسهل؟

إذا كنت تستخدم البرامج النصية القياسية لإطلاق TOMCAT (أي أنك لم تقم بتثبيت TOMCAT كخدمة Windows) ، فيمكنك استخدام ملف Setenv.bat ، لتعيين إصدار JRE_HOME.

على Windows ، قم بإنشاء الملف %CATALINA_BASE%\bin\setenv.bat, ، مع المحتوى:

set "JRE_HOME=%ProgramFiles%\Java\jre1.6.0_20"

exit /b 0

هذا مايتوجب ان تكون عليه.

يمكنك اختبار هذا باستخدام ٪ catalina_base ٪ bin configtest.bat (إخلاء المسئولية: لقد قمت فقط بالتحقق من ذلك بتثبيت tomcat7).

قراءة متعمقة:

على Linux ، يحتوي Tomcat7 على ملف تكوين موجود على:

/etc/sysconfig/tomcat7

... وهو المكان الذي يجب إجراء التكوينات المحددة للخادم. يمكنك تعيين متغير Java_home Env هنا مع إنشاء ملف تعريف/ نص.

هذا عمل بالنسبة لي.

هناك العديد من الإجابات الجيدة هنا ، لكنني أردت إضافة واحدة لأنه قد يكون من المفيد للمستخدمين مثلي الذين قاموا بتثبيت Tomcat كخدمة على جهاز Windows.

الخيار 3 هنا: http://www.codejava.net/servers/tomcat/4-lays-to-change-jre-for-tomcat

في الأساس ، افتح tomcatw.exe و point tomcat لإصدار JVM تحتاج إلى استخدامه ثم إعادة تشغيل الخدمة. تأكد من أن تطبيقاتك المنشورة لا تزال تعمل أيضًا.

اختبار افتح المصطلح أو CMD. انتقل إلى دليل [tomcat-home] bin. على سبيل المثال: C: tomcat8 bin اكتب الأمر التالي: Tomcat8w // es // tomcat8 سيفتح مربع الحوار ، حدد Java Tap (Top Top). تغيير قيمة الجهاز الافتراضي Java.

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