سؤال

لدي الخادم - العميل التطبيق الذي يعمل على جافا 1.3;أريد تغيير جافا 1.6 خطوة خطوة, معنى العملاء القليلة الأولى من تبقى من العملاء و أخيرا خادم...كنت أتساءل هل يمكنك أن تدلني على بعض المشاكل الشائعة التي يمكن أن تأتي على طول و ماذا يجب علي أن أفعل بعد ذلك ؟

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

المحلول

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

وثيقة تصف-عدم التوافق المتخلفة من جاوة 1.6 مع إصدار سابق هو هنا . تربط هذه الوثيقة التوافق وثائق ل جافا 1.5 و <أ href ل = "http://java.sun.com/javase/compatibility_j2se1.4.html" يختلط = "نوفولو noreferrer"> جافا 1.4 كذلك. ربما كنت ترغب في قراءة هذه الوثائق لمعرفة المزيد عن المخاطر المحتملة.

وجافا 1.5 و جافا 1.6 قدم من الدرجة الاولى الملفات صيغ جديدة. سيتم تشغيل JVM في ملفات الطبقة القديمة أيضا، ولكن اعادة تجميع التعليمات البرمجية الخاصة بك - وخاصة مع JDK 1.6 - سيساعد JVM جديدة للاستفادة من بعض التغييرات لجعل التطبيق بشكل أسرع. لذا قد ترغب في اعادة تجميع.

وبالإضافة إلى ذلك تم إدخال بعض كلمات رئيسية جديدة، وهي تأكيد (في 1.4) والتعداد (في 1.5) (كما يوفال التي سبق ذكرها). إذا كنت تستخدم هذه الكلمات كما معرفات، ستفشل إعادة ترجمة، ولكن سيعمل ملفات الطبقة القديمة. يمكنك توفير -source التحول إلى javac السماح لها تجميع: "javac -source 1.3" سيتم ترجمة التعليمات البرمجية بدون <م> ASSERT و <م> التعداد ككلمة رئيسية

نصائح أخرى

ومن على قمة رأسي، ابحث عن enum أسماء وassert في الحقول والمتغيرات المحلية ... هذه الكلمات أصبحت الكلمات الرئيسية في جافا 1.4 و 5. ومترجم جافا 6 سيمثل لهم كما أخطاء ترجمة إذا كان يراهم .

ويوفال = 8-)

الشمس يحتفظ قائمة التوافق التي تم تقديمها مع كل إصدار جديد من جافا.

آخر وثيقة 1.4.2 روابط التوافق الملاحظات إلى جدك 1.0.

وعموما، فإن التوافق الوراء من JVMs الشمس هو جيد جدا، ولكن ليس مثاليا. رأيت ثلاثة تطبيقات كبيرة جدا تهاجر 1،3-1،5 وتواجه سوى عدد قليل من المشاكل، وأكبر من الذي كان واحدا قناع سوينغ الخوض في حدث لا نهاية لها التعامل مع حلقة وتجميد ما يصل التطبيق تحت 1.4

والجزء الخادم من غير المرجح أن يسبب مشاكل، ولكن كانت هناك كبيرة جدا تحت غطاء محرك السيارة التغيرات في أرجوحة، وخاصة ما بين 1.3 و 1.4 - الفرعي التركيز تم إعادة كتابة تماما، على سبيل المثال

وما زال من الممكن أن التطبيق سيتم تشغيل بدون مشاكل، ولكن يمكنك بالتأكيد أن تفعل اختبار واسعة النطاق.

وعندما انتقلت من 1.4.2 إلى 1.5 في بريمج صغير عملت على، والكثير من الأشياء اندلعت: تحديث الشاشة حصلت على جميع متزعزع، انتقلت عناصر، الخ

وJRE الشمس لا يحتفظ التوافق ل <م> كل شيء . في بعض الأحيان عندما يتم إهمال البنود، ويذهبون بعيدا تماما بعد فترة قصيرة جدا من الزمن.

ولقد كتبنا كل شيء مع "الأوراق المالية" جافا، وذلك باستخدام مكتبات الشمس أيضا.

ورأيت أيضا العديد من تطبيق مكتوب بلغة جافا النقي الذي تعمل بشكل جيد على واحد أو اثنين من منصات في نفس النسخة من JRE فشل على الآخرين مع هذا الإصدار (المنتج أعمل مع الآن يعمل كبيرة على ويندوز، طيب على ماك OS X، ائق على لينكس، ولكن فشل على سولاريس - مع كل نفس JRE)

ونقل إصدارات ليس خطوة بسيطة، إلا إذا كان التطبيق صغير حقا.

وتجربتي هي أن التوافق مرتفع جدا. لقد وجدت فقط لتطبيق واحد من أي وقت مضى أن لم أستطع الحصول على تشغيلها على الإصدار الحالي. لأي سبب من الأسباب (عدم وجود مصدر، لذلك لم أكن حفر في ذلك) أن واحد التطبيق لن يعمل على أي شيء آخر من 1.4.2. ويأتي كل شيء آخر لقد تعاملت مع (بعضها كبير جدا) تصل إلى 1.6 على ما يرام. أي تعديلات المطلوبة.

وYMMV بطبيعة الحال، لذلك عليك أن تحاول ذلك، وانظر ...

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