باستخدام Maven باستخدام تخطيط الدليل غير القياسي

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

  •  25-09-2019
  •  | 
  •  

سؤال

أحاول تطبيق Maven على مشروع موجود يحتوي بالفعل على هيكل دليل. كل ما يمكنني العثور عليه من السؤال السابق هو ما يلي.

هيكل دليل مافن

ومع ذلك ، فإن متطلباتي أكثر تفصيلًا. يرجى الاطلاع أدناه على هيكل الدليل:

 <root dir>
    |
    +--src-java
    |
    +--src-properties
    |
    +--WEB-INF

أعلم أنه يمكن أن يكون لدينا شيء مثل

<build>
<sourceDirectory>src-java</sourceDirectory>
...
</build>

لكن sourceDirectory هو رمز المصدر Java فقط ، إذا لم أكن مخطئًا.

للهيكل أعلاه ، كيف أعلن ذلك pom.xml؟ إن نقل الدليل هو خياري الأخير الآن.

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

المحلول

أعتقد أنك بحاجة إلى الحصول على شيء مشابه أدناه.

رؤية WEB-INF, ، أفترض أنك تريد بناء حرب. مافن الحرب البرنامج المساعد هل هذا. ستحتاج إلى تكوين هذا قليلاً نظرًا لأن بنية المجلد غير قياسية - على سبيل المثال ، قد تحتاج إلى تحديد موقع web.xml باستخدام webXml منشأه. هذه موثقة في صفحة الاستخدام.

<build>
    <sourceDirectory>src-java</sourceDirectory>
    ...
    <resources>
      <resource>
        <directory>src-properties</directory>
      </resource>
    </resources>
    ...
    <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <warSourceDirectory>WEB-INF</warSourceDirectory>
                    ...
                </configuration>
            </plugin>
     </plugins>
</build>

نصائح أخرى

يمكنك تغيير بنية الدليل الافتراضي المعلن في سوبر بوم عن طريق الكتابة فوقهم في بوم الخاص بك.

على سبيل المثال ، على سبيل المثال

<sourceDirectory>src-java</sourceDirectory>
<resources>
  <resource>
    <directory>src-properties</directory>
  </resource>
</resources>

سوف Maven نسخ جميع الموارد إلى ملف جرة. إذا كنت ترغب في تضمين ويب في الجرة ، فمن الأفضل نقله إلى دليل الموارد المحدد. وإلا عليك أن تنسخها بموجب الإضافات الخاصة بك (مع مكونات Maven) إلى الدليل المستهدف - أفترض.

 <resources>
  <resource>
    <directory>${project.basedir}/src/main/resources</directory>
  </resource>

من عند هنا.

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