هل يمكن لمشروع M2Eclipse/WTP متعدد الوحدات الحصول على وحدات الأداة المساعدة في فئات/فئات الويب؟

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

سؤال

نستخدم Myeclipse حاليًا مع تكامل Maven4MyEclipse المدمج ودعم خادم J2EE المدمج ، ولكننا نريد التحويل إلى Eclipse العادي (Helios على وجه التحديد) لتكون قادرًا على استخدام تثبيت 64 بت على Windows. (Myeclipse لا يدعم 64 بت على Windows.)

لقد حصلت حتى الآن على نموذج أولي يعمل لـ Helios Eclipse باستخدام M2Eclipse مع البرنامج المساعد WTP الذي ينشر تطبيقنا الكبير على الويب إلى Tomcat. يعد النشر مكثفًا للمعالج قليلاً ، لكنه يعمل ويبدأ التطبيق.

ما يختلف بشكل خاطئ هنا هو كيفية نشر المشاريع التابعة. في بيئة myeclipse الخاصة بنا ، انفجرت جميع المشاريع التي تم نشرها في مجلد الويب/الفئات على الويب ، وهكذا أثناء تشغيل الخادم ، فإن تغيير فئة Java في IDE لن ينسخ سوى الملف (الملفات) المتأثرة إلى خادم ويب/فئات و swap hot class في JVM و ... BOOM-تغيير مباشر إلى الخادم. عظيم لتصحيح الأخطاء.

ومع ذلك ، في تحويل Helios الخاص بي ، تحصل جميع المشاريع المعتمدة على جاريد ووضعها في شبكة الويب/lib. هذا له ميزة في الواقع يبدو وكأنه صورة الإنتاج الحقيقية التي تم بناؤها في Maven ، ولكن بيئة التطوير محرومة بشدة من هذا حيث يبدو أن إمكانية التبادل الساخن ضائع تمامًا. هنا ، إذا قمت بتغيير فئة Java في مشروع تابع ، فسيقوم M2Eclipse بإعادة تعبئة الجرة ، وانظر إلى أن تطبيق الويب المنشور خارج المزامنة ، وإعادة نشر التطبيق بأكمله. ليست هذه مشكلة في أن تطبيق الويب بأكمله يجب أن يركبه (شيء لا يعمل لنا بصراحة بالنظر إلى حجمه ووقت التهيئة الضخمة) ، بل إنه أيضًا تأخير سيء في الكسوف الذي يقوم بإعادة نشره. (لتطبيقنا ، يستغرق هذا حوالي دقيقة أو دقيقتين.)

لذا فإن سؤالي هو: هل هناك طريقة للحصول على تغييرات داخل المشاريع المعتمدة على SWAP الساخن إلى JVM قيد التشغيل واستبدال الملفات المنشورة دون عقوبة إعادة النشر هذه؟ أفترض أن هذا يعني نشر ملفات الفصل هذه على فئات الويب/الفئات ولكن لا أعرف على وجه اليقين أنه ممكن أو (ب) ضروري حقًا كجزء من هذا الحل.

ماذا يفعل الآخرون لحل هذا؟ هل هو قابل للحل؟

شكرا لك مقدما!

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

المحلول

أعتقد أنك تبحث عن الحل الموصوف في رد: WTP Tomcat Hot Deploy مع M2Eclipse:

إذا قمت بتمكين خيار "خدمة الوحدات بدون نشر" ، يتم إضافة جرة خاصة إلى خادم Tomcat الذي يسمح بدعم Tomcat في WTP للتحكم في "ClassPath" لتطبيق الويب. أيضا ، لا يتم تجميع مشاريع المرافق في الجرار. بدلاً من ذلك ، يتم تضمين مجلد (مجلد الإخراج Java لمشاريع الأدوات المساعدة في "ClassPath" لتطبيق الويب ، وخدمة ملفات الفصل بشكل فعال مباشرة. إذا قمت بتعطيل التحميل التلقائي للسياق ، وتشغيله في وضع التصحيح ، فيمكن أن تكون التغييرات التي تقوم بها على الفئات هي الساخن حتى لا يلزم إعادة تحميل السياق. أعتقد أن هذا سوف ينجز ما تبحث عنه.

لنفعل ذلك:

  • اذهب إلى الخادم رأي
  • نقرتين متتاليتين خادم Tomcat الخاص بك لفتح إعدادات الخادم
  • في خيارات الخادم, ، حدد خدمة الوحدات بدون نشر اختيار
  • في نشر, ، حدد لا تنشر تلقائيًا اختيار
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top