سؤال

كيف يجب تحديد موقع جميع ملفات الخصائص داخل بيان النمل بالضبط؟

الجرة الخاصة بي لا تعمل لأنها لا تستطيع العثور على خصائص log4j وSpring وما إلى ذلك.

جميع هذه الملفات موجودة في مجلد يسمى "server-config" والذي يقع على نفس مستوى الكود المصدري، أي:

  • ميتا-INF
  • com
  • تكوين الخادم

في الأساس، أريد أن أعرف ما الذي أحتاج إلى إضافته إلى خاصية Class-Path حتى يكون الجرة على دراية بجميع ملفات الخصائص هذه الموجودة داخل مجلد تكوين الخادم.

ها هي مهمتي الحالية:

<jar destfile="${root.home}/onejar/build/main/main.jar" basedir="${build.home}">
        <manifest>
            <attribute name="Class-Path" value=".;server-config" />
        </manifest>
        <include name="com/mycompany/client/*"/>
        <include name="com/mycompany/portable/util/*"/>
        <include name="com/mycompany/request/*"/>
        <include name="com/mycompany/model/*"/>
        <include name="com/mycompany/controller/*"/>
        <include name="com/mycompany/helpers/*"/>
        <include name="server-config/*"/>
    </jar>

لقد جربت بعض الأشياء ولم يعمل أي منها، وأستمر في تلقي الأخطاء بسبب عدم العثور على الملف.

سيكون موضع تقدير كبير أي مساعدة!

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

المحلول

يمكنك إزالة كامل <manifest... جزء - هذا ليس ما تفعله سمة بيان Class-Path. إنها لأشياء خارجة عن JAR.

الخط <include name="server-config/*"/> يجب العمل - إذا كان دليل تكوين الخادم موجودًا داخل دليل ${build.home} الخاص بك.ربما تحتاج إلى مهمة لنسخها هناك - لقد ذكرت أن مصدر الرمز يجلس على نفس المستوى، ولكنك لا تذكر أين هم جمعت ل.

مثال -

<mkdir dir="${build.dir}/server-config"
<copy todir="${build.dir}/server-config">
  <fileset dir="${src.dir}/server-config">
    <include name="*"/>
  </fileset>
</copy>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top