هل يمكن لـ NetBeans إنشاء معرف الإصدار التسلسلي التلقائي لفئة Java؟

StackOverflow https://stackoverflow.com/questions/1373215

  •  21-09-2019
  •  | 
  •  

سؤال

أرغب في إزالة بعض التحذيرات لبعض الفئات من خلال إنشاء معرف الإصدار التسلسلي التلقائي. في Eclipse ، هذا تافهة للقيام به - يمكن أن تقوم IDE بإنشاء واحدة تلقائيًا وإضافتها إلى الفصل. ومع ذلك ، لا أرى هذه الوظيفة في NetBeans. هل هو متاح؟ إذا كان الأمر كذلك، أين هو؟ إذا لم يكن الأمر كذلك ، فهل هناك مكون إضافي يمكنه تمكينه؟

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

المحلول

في الواقع كان حلي لتلك "المشكلة" هو إلغاء تنشيط هذا التحذير في تكوين مشروعي (أستخدم Eclipse ولكني أعتقد أن NetBeans هو نفسه) مثل IMHO إنه تحذير خاطئ: عدم وجود التسلسل هو الخيار الأكثر أمانًا لأن JVM يحسب الخيار الفريد من نوعه عند الإطلاق (شيء مثل تجزئة الفصل) أثناء إضافته بشكل صريح ثم الأعباء أنت لرعاية تحديثها إذا كنت قد أجريت تغييرات غير متوافقة مع الكود الخاص بك وفقط إذا قمت بإجراء تغييرات غير متوافقة مع الكود الخاص بك.

لذا ، إذا كنت لا تهتم بذلك ، فمن الأفضل تجنب هذه القيمة (بهذه الطريقة تكون متوافقة فقط مع الإصدار المتوافق بالتأكيد, ، ولكن مع بعض المواصلات الخاطئة: يعتقد أن هذا غير متوافق ، ولكن في الواقع سيكون) بدلاً من وضع قيمة ثابتة (ربما ، في حالتي) تنسى التحديث عند الحاجة ، مما يؤدي إلى أخطاء الصلاحية الفعلية (خطأ -النغال: يعتقد أنه متوافق ولكنه ليس كذلك).

نصائح أخرى

يبدو أن الخروج من صندوق NetBeans لا يدعم الميزة ، لكن المكونات الإضافية تفعل ذلك.

يرجى إلقاء نظرة على

الرابط 1, الرابط 2 و الرابط 3

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

private static final long serialVersionUID = 1L;

لاحظ أنه لا يوجد أي شرط على الإطلاق ل serialVersionUID لتكون فريدة من نوعها عبر الفصول.

لتعطيل هذه التحذيرات في Netbeans:

  1. افتح: الأدوات -> الخيارات
  2. افتح: محرر -> علامة تبويب تلميحات
  3. حدد اللغة: جافا
  4. قم بإلغاء تحديد تحذيرات Javac القياسية -> التسلسل
  5. نعم

اضطررت أيضًا إلى مسح ~/.netbeans/6.8/var/cache وإعادة تشغيل netbeans لمسح التحذيرات من قائمة المهام.

(للمستخدم ، حيث تسأل عن نفس السؤال الآن)
أنا باستخدام NB7.4 ووجدت هذا البرنامج المساعد من NB6.5 إلى NB7.4
توصيل في
لقد اختبرته في NB7.4 وأعمل بشكل جيد. للحصول على معنى معرف الإصدار Servial ، انظر إلى
SerialVersionuid
إذا قمت بإضافته بشكل صريح ، يمكنك تغيير كل شيء إلى فصلك دون تغيير UID حتى لا تتسلسل وتخزينه في مكان ما: إذا قمت بإنشاء فئة A تسلسلها
إنهاء ثم تخزينه على قاعدة البيانات
end ثم قم بتغيير الفئة A التي لا تتوافق مع الفئة A القديمة ،
عندما يحاول شخص ما تحميل الكائن المسلسل من الفئة A الأخيرة إلى الفئة A الجديدة ، يمكن أن يواجه مشكلة.

عندما تقوم بتغيير الفئة A وجعلها غير متوافقة مع آخر فئة A ، عليك تغيير UID ، لذا إذا حاول شخص ما تحميله ، فسيصبح ذلك غير صالح.

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