باستخدام Maven باستخدام تخطيط الدليل غير القياسي
سؤال
أحاول تطبيق 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>
من عند هنا.