English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تطبيقات الويب في Maven

في هذا الفصل، سنتعلم كيفية استخدام نظام التحكم بالأصدار Maven لإدارة مشروع يعتمد على الويب، وكيفية إنشاء، بناء، توزيع وتشغيل تطبيق الويب.

إنشاء تطبيق Web

يمكننا استخدام أداة maven-archetype-webapp لإنشاء تطبيق Java web بسيط.

افتح وحدة التحكم بالأوامر، انتقل إلى مجلد C:\MVN، ثم اتبع الأمر mvn التالي:

C:\MVN>mvn archetype:generate -DgroupId=com.companyname.automobile -DartifactId=trucks -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

بعد اكتمال التنفيذ، ستبدأ Maven في التعامل، وستقوم بإنشاء بنية المجلدات الكاملة لمشروع Java Web.

[INFO] البحث عن المشاريع...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] -------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]       segment-tarefa: [archetype:generate] (نمط المجموع)
[INFO] -------------------------------------------------------------------
[INFO] يتم تحضير archetype:generate
[INFO] لا تحتاج المشروع إلى أهداف - يتم التخطي
[INFO] [archetype:generate {execution: default-cli}]
[INFO] يتم إنشاء المشروع في نمط الجلسة
[INFO] --------------------------------------------------------------------
[INFO] يستخدم المعلمات التالية لإنشاء المشروع 
من النموذج القديم (1.x): maven-archetype-webapp:1.0
[INFO] --------------------------------------------------------------------
[INFO] معلمة: groupId، القيمة: com.companyname.automobile
[INFO] معلمة: packageName، القيمة: com.companyname.automobile
[INFO] معلمة: package، القيمة: com.companyname.automobile
[INFO] معلمة: artifactId، القيمة: trucks
[INFO] معلمة: basedir، القيمة: C:\MVN
[INFO] معلمة: version، القيمة: 1.0-SNAPSHOT
[INFO] تم إنشاء المشروع من النموذج القديم (1.x) في دليل: C:\MVN\trucks
[INFO] -------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] -------------------------------------------------------------------
[INFO] وقت إجمالي: 16 ثانية
[INFO] تم الانتهاء في: الثلاثاء 17 تموز 11:00:00 IST 2012
[INFO] ذاكرة النهاية: 20M/89M
[INFO] -------------------------------------------------------------------

بعد إكمال العمل، يمكننا رؤية مشروع trucks في مجلد C:/MVN، وتحديد بنية مجلد المشروع:

هيكل مجلد Maven هو معياري، والوظائف المختلفة للمجلدات كما في الجدول التالي:

هيكل المجلدالوصف
trucksيحتوي على مجلد src وملف pom.xml.
src/main/webappيحتوي على ملف index.jsp ومجلد WEB-INF.
src/main/webapp/WEB-INFيحتوي على ملف web.xml.
src/main/resourcesيحتوي على الصور وملفات properties المصدرية.

كود ملف pom.xml كالتالي:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
   http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.companyname.automobile</groupId>
   <artifactId>trucks</artifactId>
   <packaging>war</packaging>
   <version>1.0-SNAPSHOT</version>
   <name>trucks Maven Webapp</name>
   <url>http://maven.apache.org</url>
   <dependencies>
      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>3.8.1</version>
         <scope>test</scope>
      </dependency>
   </dependencies>
   <build>
      <finalName>trucks</finalName>
   </build>
</project>

الآن نفتح مجلد C:\ > MVN > trucks > src > main > webapp >، ونرى ملف index.jsp الموجود مسبقًا، والذي يحتوي على الكود التالي:

<html>
   <body>
      <h2>مرحبًا بالعالم!</h2>
   </body>
</html>

بناء تطبيق الويب

افتح محطة الأوامر، انتقل إلى مجلد C:\MVN\trucks، ثم اتبع الأوامر المتبقية أدناه:

C:\MVN\trucks>mvn clean package

Maven ستبدأ في بناء المشروع:

[INFO] البحث عن المشاريع...
[INFO] -------------------------------------------------------------------
[INFO] بناء تطبيق الويب trucks Maven
[INFO]    segment-task: [clean, package]
[INFO] -------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [resources:resources {execution: default-resources}]
[WARNING] استخدام تشفير المنصة (Cp1252 في الواقع) لل 
نسخ الموارد المتميّز، أي. البناء يعتمد على منصة!
[INFO] نسخ 0 ميزة
[INFO] [compiler:compile {execution: default-compile}]
[INFO] لا يوجد مصادر للترميز
[INFO] [resources:testResources {execution: default-testResources}]
[WARNING] استخدام تشفير المنصة (Cp1252 في الواقع) لل 
نسخ الموارد المتميّز، أي. البناء يعتمد على منصة!
[INFO] تخطي المجلدات غير الموجودة resourceDirectory 
C:\MVN\trucks\src\test\resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] لا يوجد مصادر للترميز
[INFO] [surefire:test {execution: default-test}]
[INFO] لا يوجد اختبارات للتنفيذ.
[INFO] [war:war {execution: default-war}]
[INFO] تغليف تطبيق الويب
[INFO] تجميع تطبيق الويب [trucks] في [C:\MVN\trucks\target\trucks]
[INFO] معالجة مشروع war
[INFO] نسخ موارد تطبيق الويب[C:\MVN\trucks\src\main\webapp]
[INFO] تم تجميع تطبيق الويب في [77 ميليسي ثانية]
[INFO] بناء war: C:\MVN\trucks\target\trucks.war
[INFO] -------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] -------------------------------------------------------------------
[INFO] الوقت الإجمالي: 3 ثوان
[INFO] إنتهاء في: الثلاثاء 17 تموز 11:22:45 IST 2012
[INFO] الذاكرة النهائية: 11M/85M
[INFO] -------------------------------------------------------------------

توزيع تطبيق الويب

افتح مجلد C:\ < MVN < trucks < target < مجلد، ابحث عن ملف trucks.war، وقم بنسخه إلى مجلد تطبيقات خادم الويب الخاص بك، ثم أعد تشغيل خادم الويب.

اختبار تطبيق الويب

زيارة العنوان التالي لتشغيل تطبيق الويب:

http://:/trucks/index.jsp

نتيجة التحقق: