سؤال

لقد قمت بتثبيت وتكوين Tomcat + Solr على جهاز Linux الشخصي الخاص بي وWindows أيضًا.لقد تمكنت من جعلهم يعملون بشكل جيد.أنا جديد جدًا على Java وكيفية عمل بنية الملف.(أي.معرفة مكان وضع ملفات الحرب وما هو WEB-INF) والآن بعد أن أصبحت جاهزًا لتثبيت solr وتكوينه على خطة الاستضافة المشتركة لعملائي، تختلف التوجيهات عما فعلته من قبل.لا أريد أن أفسد هذا الأمر ويبدو أن خادم الويب يُعاد تشغيله يوميًا ولا أعتقد أنه يمكنني القيام بذلك يدويًا مما يعني أن لدي فرصة واحدة للقيام بذلك كل يوم.

فيما يلي إرشادات تثبيت Tomcat servlet على موفر الاستضافة الخاص به:http://www.apluskb.com/scripts/Where_do_I_put_my_answer1186.html

كما ترى، أحتاج إلى تثبيت solr ضمن دليل html/WEB-INF، لكن اقرأ ما يقوله..إنه مربك للغاية:

"يجب تحميل جميع Servlets في ملف /html/WEB-INF/classes الدليل.يجب تحميل أي فئات وموارد مخصصة تم تفكيكها في ملف /html/WEB-INF/classes الدليل، في حين أن الطبقات والموارد معبأة في إناء يجب أن يتم تحميل الملفات إلى /html/WEB-INF/lib."

اه...إذن ما هو؟/الطبقات؟أو / ليب؟لا أعتقد أنهم يشرحون ذلك جيدًا وأنا في حيرة من أمري بسبب هذا البيان.وأيضا ما الذي أقوم بتثبيته بالضبط؟مع تثبيت solr العادي، يتم وضع solr في مكان آخر، ويتم نسخ ملف الحرب إلى Tomcat ويتم الرجوع إلى بقية solr باستخدام نوع ما من ملفات تكوين XML.

أيضًا ، نظرًا لأنني جديد قليلاً في استخدام Java وservlets، هل يمكن لأي شخص أن يشرح لي بنية ملف Tomcat (بتفصيل كبير سيمنحك بالتأكيد 1+ مني) وأين يجب أن تذهب الأمور ولماذا؟

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

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

المحلول

يتم تعريف بنية تطبيق الويب من خلال مواصفات J2EE، وهي ليست مقتصرة (أو محددة) على Tomcat في حد ذاتها.هنا أ تعليمي مفصل تغطي تخطيطها.لكن باختصار الأمر كالتالي:

  1. يوجد مجلد أساسي (الجذر، الصفحة الرئيسية، كل ما تريد تسميته) والذي يعمل كجذر لتطبيق الويب، وكل شيء آخر يقع تحته.
  2. جميع الأشياء العامة (html، الصور، CSS، javascript، JSP، ماذا لديك) تندرج ضمن هذا المجلد (مباشرة أو عبر المجلدات الفرعية).
  3. يوجد مجلد خاص واحد، يقع أيضًا مباشرة تحت الجذر، يسمى WEB-INF.أنه يحتوي على أشياء غير عامة، مثل واصف التطبيق (web.xml)، الطبقات (التي تدخل في WEB-INF/classes المجلد)، المكتبات (WEB-INF/lib) وربما ملفات التكوين.
  4. يمكن نشر التطبيق إما باستخدام البنية الموسعة أعلاه أو كـ WAR (أرشيف الويب) وهو في الأساس أرشيف يحتوي على كل شيء أعلاه بدءًا من مستوى المجلد الجذر (ولكن لا يشمل الجذر).

التمييز بين classes و lib المجلدات بسيطة:يجب الدخول إلى كافة المكتبات المجمعة (ملفات JAR). lib;يجب أن تدخل جميع الفئات غير المعبأة (وملفات الموارد التي يجب أن تكون في مسار الفصل). classes الحفاظ على بنية الدليل الخاصة بهم (على سبيل المثال. com.mypackage.Blah يجب أن يدخل الفصل classes/com/mypackage/)

في حالتك، يبدو أنه لا يمكنك نشر سوى تطبيق ويب واحد ويجب نشره فيه /html مجلد.إذا كنت تقوم بنشر ملف حرب، فستحتاج إلى استخراجه إلى هذا الدليل (على سبيل المثال.من داخل ذلك /html تشغيل المجلد jar xvf solr.war أو ما يسمى).

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