من مترجم: قبل بضع سنوات ، حددت هدفًا سريعًا ، ولكن التعرف على إطار عمل شائع مثل Apache Maven . على الفور تقريبًا ، تمكنت من العثور على الأدب المناسب ، لكنني فوجئت قليلاً بحقيقة أن جميع المواد المعقدة كانت حصرية باللغة الإنجليزية ، بينما في روسيا كان هناك الكثير من المقالات المتناثرة ، ولكن لم أتمكن من العثور على كتاب كامل يمكن قراءته من الغلاف إلى الغلاف نجح. ونتيجة لذلك ، اخترت للقراءة كتابًا صغيرًا ، بعنوان تقديم مافن ، كتبه Balaji Varnasi و Sudha Belida ونشرته Apress في 2014. عندما تم حل جميع المهام ، ولدت تدريجياً ترجمة لهذا المنشور ، والتي ، على الرغم من أنها كانت ملقاة على مكتبي لبضع سنوات ، قد لا تزال مفيدة للمجتمع.
أعطي هنا ترجمة لفصل واحد فقط من فصول هذا الكتاب ، ولكن يمكن تنزيله بالكامل هنا من هذه الروابط باللغة الإنجليزية أو باللغة الروسية (PDF).
الفصل 6: نماذج مخضرمة
حتى هذه اللحظة ، قمت بإنشاء مشروع Maven يدويًا ، وإنشاء مجلدات وملفات
pom.xml من البداية. يمكن أن يكون هذا مملاً ، خاصة إذا كان عليك في كثير من الأحيان إنشاء مشاريع. لحل هذه المشكلة ، يوفر Maven النماذج الأولية. تعد
النماذج الأصلية لـ Maven مشروعات محددة مسبقًا تتيح للمستخدمين إنشاء مشروعات جديدة بسهولة.
توفر النماذج النموذجية لـ Maven أيضًا قاعدة ملائمة لتبادل الخبرات وضمان اتساق بنية دليل Maven القياسية. على سبيل المثال ، يمكن للمؤسسة إنشاء نموذج أصلي مع ورقة أنماط متتالية (
CSS ) للمكتبات ومكتبات
JavaScript المعتمدة ومكونات قابلة لإعادة الاستخدام. سيتبع المطورون الذين يستخدمون هذه النماذج لإنشاء مشاريع تلقائيًا معايير الشركة.
نماذج مدمجة
من خارج منطقة الجزاء ، يوفر Maven للمطورين مئات من النماذج الأصلية. بالإضافة إلى ذلك ، هناك العديد من المشاريع مفتوحة المصدر التي توفر نماذج أصلية إضافية يمكنك تنزيلها واستخدامها. يوفر Maven أيضًا نماذج أصلية للمكونات الإضافية مع أهداف لإنشاء نماذج أصلية وإنشاء مشاريع من نماذج أصلية.
يحتوي المكون الإضافي النموذج الأصلي على هدف
إنشاء يتيح لك عرض النموذج الأصلي المطلوب وتحديده. تعرض
القائمة 6-1 نتائج تشغيل هدف التوليد من سطر الأوامر. كما ترى ، تم إعطاء 491 نموذجًا أصليًا للاختيار من بينها
(في عام 2018 كان هناك بالفعل أكثر من ألفي - ترجمة تقريبًا) . تمت مناقشة استخدام العديد منها في هذا الفصل.
الإدراج 6-1. البرنامج المساعد مخضرم النموذج الأصلي يولد دعوة الهدف$mvn archetype:generate [INFO] Scanning for projects... [INFO] [INFO] ----------------------------------------------------------------------- [INFO] Building Maven Stub Project (No POM) 1 [INFO] ----------------------------------------------------------------------- [INFO] [INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone- pom >>> [INFO] [INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone- pom <<< [INFO] [INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone- pom [INFO] Generating project in Interactive mode [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0) ........................... ........................... 1176: remote -> ru.yandex.qatools.camelot:camelot-plugin (-) 1177: remote -> se.vgregion.javg.maven.archetypes:javg-minimal-archetype (-) 1178: remote -> sk.seges.sesam:sesam-annotation-archetype (-) 1179: remote -> tk.skuro:clojure-maven-archetype (A simple Maven archetype for Clojure) 1180: remote -> tr.com .lucidcode:kite-archetype (A Maven Archetype that allows users to create a Fresh Kite project) 1181: remote -> uk.ac.rdg.resc:edal-ncwms-based-webapp (-) 1182: local -> com.inflinx.book.ldap:practical-ldap-empty-archetype (-) 1183: local -> com.inflinx.book.ldap:practical-ldap-archetype (-) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 491:
إنشاء مشروع ويب
يوفر Maven
النموذج الأصلي لـ maven-archetype-webapp لإنشاء تطبيق ويب. لنقم بإنشاء مثل هذا التطبيق عن طريق استدعاء الأمر التالي في المجلد
C: \ apress \ gswm-book \ Chapter6 :
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp
يتم تنفيذ هذا الأمر بشكل تفاعلي. بالنسبة للأسئلة الواردة ، أدخل المعلومات التالية:
Define value for property 'groupId': : com.apress.gswmbook Define value for property 'artifactId': : gswm-web Define value for property 'version': 1.0-SNAPSHOT: : <<Hit Enter>> Define value for property 'package': com.apress.gswmbook: : war Confirm the properties configuration: groupId: com.apress.gswmbook artifactId: gswm-web version: 1.0-SNAPSHOT package: war Y: <<Hit Enter>>
يجب أن يبدو هيكل المجلد الذي تم إنشاؤه كما هو موضح في
الشكل 6-1 :
الشكل 6-1. هيكل مشروع ويب مخضرم
ملف
pom.xml صغير ويحتوي على تبعية واحدة -
JUnit . يمكن لـ Maven تبسيط إطلاق تطبيق الويب الخاص بك باستخدام خوادم الويب المضمنة مثل
Tomcat أو
Jetty . تعرض
القائمة 6-2 ملف
pom.xml المعدل مع إضافة
Tomcat .
قائمة 6-2. ملف pom.xml معدل مزود بمكون Tomcat مضمن <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.apress.gswmbook</groupId> <artifactId>gswm-web</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>gswm-web 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>gswm-web</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> </plugin> </plugins> </build> </project>
لتشغيل تطبيق الويب هذا على خادم
Tomcat ، اتصل بالأمر التالي في دليل جذر المشروع:
mvn tomcat7:run
سترى مشروعًا تفصيليًا وناتجًا مشابهًا لذلك المعروض في
القائمة 6-3 .
قائمة 6-3. إخراج الأمر تشغيل Tomcat Oct 11, 2014 12:08:43 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Tomcat Oct 11, 2014 12:08:43 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.47 Oct 11, 2014 12:08:45 PM org.apache.catalina.util.SessionIdGenerator createSecureRandom INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [334] milliseconds. Oct 11, 2014 12:08:45 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"]
الآن قم بتشغيل المتصفح
وانتقل إلى
localhost : 8080 / gswm-web / . يجب أن تشاهد صفحة ويب مثل تلك الموضحة في
الشكل 6-2 .
الشكل 6-2. مشروع ويب يعمل في المستعرض
مشروع متعدد النماذج
غالبًا ما تنقسم مشروعات
Java Enterpise Edition (JEE) إلى عدة وحدات لتسهيل التطوير والصيانة. تنتج كل من هذه الوحدات عناصر فنية مثل
Enterprise JavaBeans (EJBs) وخدمات الويب ومشاريع الويب و
JARs للعملاء. تدعم Maven تطوير مشاريع
JEE الكبيرة ، مما يسمح لك باستضافة العديد من مشاريع Maven داخل مشروع Maven آخر.
ويبين الشكل 6-3 هيكل هذا المشروع متعدد الوحدات. يحتوي المشروع الأصلي على ملف
pom.xml والعديد من مشاريع Maven في الداخل.
الشكل 6-3. هيكل مشروع متعدد الوحدات
حتى نهاية هذا الفصل ، سنشرح كيفية بناء مشروع متعدد الوحدات لمهمة تحتاج فيها إلى تقسيم مشروع كبير إلى تطبيق ويب (
WAR artifact) يوفر واجهة مستخدم ومشروع خدمة (
JAR artifact) يحتوي على رمز طبقة الخدمة والمشروع
الثبات يحتوي على رمز مستوى المستودع. يوضح
الشكل 6-4 تمثيلاً مرئيًا لمثل هذا السيناريو.
الشكل 6-4. مشروع متعدد النماذج مخضرم
لنبدأ العملية من خلال إنشاء مشروع رئيسي. للقيام بذلك ، قم بتشغيل الأمر التالي في موجه الأوامر في المجلد C: \ apress \ gswm-book \ Chapter6:
mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-parent -Dversion=1.0.0-SNAPSHOT -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=pom-root
يقوم النموذج الأصلي لـ
pom-root بإنشاء مجلد
gswm-الأصل وفيه ملف
pom.xml .
كما
هو موضح في
القائمة 6-4 ،
يحتوي ملف
pom.xml الذي تم إنشاؤه على الحد الأدنى من المحتوى. لاحظ أن نوع
pom محدد في علامة
التعبئة للمشروع الأصلي.
قائمة 6-4. ملف الوالد 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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-parent</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>pom</packaging> <name>gswm-parent</name> </project>
الآن قم بإنشاء مشروع ويب عن طريق تشغيل الأمر التالي في
المجلد الأصل C: \ apress \ gswm-book \ Chapter6 \ gswm :
mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-web -Dversion=1.0.0-SNAPSHOT -Dpackage=war -DarchetypeArtifactId=maven-archetype-webapp
في عملية إنشاء مشروع الويب هذا ، زودت Maven بإحداثيات مثل
groupId والإصدار وما إلى ذلك كمعلمات تم تمريرها إلى هدف التوليد ، الذي أنشأ مشروع
gswm-web .
الخطوة التالية هي إنشاء مشروع خدمة. من المجلد
C: \ apress \ gswm-book \ Chapter6 \ gswm-الأصل ، قم بتشغيل الأمر التالي:
mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-service -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
يرجى ملاحظة أنك لم تحدد معلمة
الحزمة ، مثل
يقوم maven-archetype-quickstart بإنشاء مشروع
JAR افتراضي. لاحظ أيضًا استخدام معلمة الوضع
التفاعلي . إنه ببساطة يخبر Maven بتنفيذ الأمر دون مطالبة المستخدم بأي معلومات.
على غرار الخطوة السابقة ، قم بإنشاء مشروع Java
gosm-repository التالي
من خلال تنفيذ الأمر التالي في المجلد
C: \ apress \ gswm-book \ Chapter6 \ gswm-الأصل :
mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-repository -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
الآن بعد أن تم إنشاء جميع المشاريع ، ألق نظرة على ملف
pom.xml في مجلد
gswm-الأصل . تعرض
القائمة 6-5 محتوياتها.
قائمة 6-5. ملف pom.xml الأصلي مع الوحدات النمطية <?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven 4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-parent</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>pom</packaging> <name>gswm-parent</name> <modules> <module>gswm-web</module> <module>gswm-service</module> <module>gswm-repository</module> </modules> </project>
يسمح لك عنصر
الوحدات بتعريف الوحدات الفرعية في مشروع متعدد الوحدات. أثناء إنشاء كل وحدة نمطية ، يسجلها Maven كأطفال. بالإضافة إلى ذلك ، يقوم بتعديل ملفات
pom.xml للوحدات نفسها ، وإضافة معلومات حول
pom.xml الأصل
إليها . تعرض
القائمة 6-6 ملف
pom.xml لمشروع
gswm-web ، الذي يحدد عنصر
pom الأصلي.
الإدراج 6-6. ملف pom.xml لوحدة الويب <?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-parent</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-web</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>war</packaging> <name>gswm-web 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>gswm-web</finalName> </build> </project>
الآن بعد أن تم تثبيت البنية التحتية بالكامل ، يمكنك تجميع المشروع التالي. فقط قم بتشغيل أمر
حزمة mvn من مجلد
مشروع gswm ، كما هو موضح في
القائمة 6-7 .
قائمة 6-7. تم إطلاق أمر حزمة Maven في دليل المشروع الأصلي C:\apress\gswm-book\chapter6\gswm-parent>mvn package [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] gswm-parent [INFO] gswm-web Maven Webapp [INFO] gswm-service [INFO] gswm-repository [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] gswm-parent ....................................... SUCCESS [0.001s] [INFO] gswm-web Maven Webapp ............................. SUCCESS [1.033s] [INFO] gswm-service ...................................... SUCCESS [0.552s] [INFO] gswm-repository ................................... SUCCESS [0.261s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.949s [INFO] Finished at: Mon Oct 13 23:09:21 MDT 2014 [INFO] Final Memory: 6M/15M [INFO] ------------------------------------------------------------------------
إنشاء نماذج أصلية
يوفر Maven عدة طرق لإنشاء نموذج أصلي جديد. هنا سنستخدم مشروعًا موجودًا لهذا الغرض.
لنبدأ بإنشاء مشروع نموذج أولي سيتم استخدامه كأساس لتوليد النموذج الأصلي. سيكون هذا المشروع متوافقًا مع
Servlet 3.0 ويحتوي على
Status Servlet التي تُرجع رمز حالة HTTP 200 ("OK" - طلب ناجح). بدلاً من إنشاء مشروع ويب من البداية ، انسخ مشروع
gswm-web الذي تم إنشاؤه سابقًا
وأنشئ النموذج الأولي gswm-web-protot في المجلد
C: \ apress \ gswm-book \ Chapter6 . قم بإجراء التغييرات التالية على المشروع الذي نسخته للتو:
1. قم بإزالة كافة الموارد الأخرى ، مثل الملفات الخاصة
ببيئة التطوير المتكاملة (IDE) (
.project ،
.classpath ، إلخ.) التي لا تريد تضمينها في النموذج الأصلي.
2. استبدل محتويات
ملف web.xml من مجلد
webapp / WEB-INF . سيؤدي ذلك إلى تهيئة تطبيق الويب لاستخدام
Servlet 3.0 :
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>Archetype Created Web Application</display-name> </web-app>
3. إضافة تبعية
Servlet 3.0 إلى ملف
pom.xml .
يظهر محتوى
pom.xml المحدث في
القائمة 6-8 .
قائمة 6-8. ملف Pom.xml مع تبعية Servlet <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.apress.gswmbook</groupId> <artifactId>gswm-web</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>gswm-web Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>gswm-web</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> </plugin> </plugins> </build> </project>
4. منذ ذلك الحين سنقوم بتطوير مشروع ويب في Java ، ثم نقوم بإنشاء مجلد يسمى
java في
src / الدليل
الرئيسي . وبالمثل ، قم بإنشاء مجلدات
الاختبار / جافا واختبار / الموارد في دليل
src .
5. قم
بإنشاء ملف
AppStatusServlet.java الذي ينتمي إلى حزمة
com.apress.gswmbook.web.servlet في دليل
src / main / java .
يتم تحويل الحزمة
com.apress.gswmbook.web.servlet إلى بنية المجلد
com \ apress \ gswmbook \ web \ servlet . يظهر كود المصدر لملف
AppStatusServelet.java في
القائمة 6-9 .
قائمة 6-9. كود المصدر لفئة Java AppStatusServlet package com.apress.gswmbook.web.servlet; import javax.servlet.annotation.WebServlet; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; @WebServlet("/status") public class AppStatusServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { PrintWriter writer = response.getWriter(); writer.println("OK"); response.setStatus(response.SC_OK); } }
سيكون تصميم النموذج الأولي في رحلة إلى التصميم الموضح في
الشكل 6-5 .
التين. 6-5. تم إنشاء مشروع النموذج الأولي
باستخدام سطر الأوامر ، انتقل إلى
مجلد gswm-web-prototype للمشروع من تشغيل الأمر التالي:
mvn archetype:create-from-project
في نهاية الأمر ، سترى الرسالة
Archetype التي تم إنشاؤها في target / مولدة - مصادر / archetype . يوجد النموذج الأصلي الذي تم إنشاؤه في المجلد
gswm-web-prototype / الهدف / المولد- المصادر / النموذج الأصلي .
الخطوة التالية هي نقل العنصر الذي تم إنشاؤه حديثًا إلى مجلد gswm-web-archetype منفصل لتكوينه قبل النشر. للقيام بذلك ، اتبع الخطوات التالية:
1. أنشئ
مجلد gswm-web-archetype في دليل
C: \ apress \ gswm-book \ Chapter6 .
2. انسخ الدلائل الفرعية والملفات من المجلد
C: \ apress \ gswm-book \ Chapter6 \ gswm-web-prototype \ target \ مولدات المصادر \ النموذج الأصلي إلى مجلد
gswm-web-archetype .
3. قم بإزالة الدليل الفرعي
الهدف من المجلد
C: \ apress \ gswm-book \ Chapter6 \ gswm-web-archetype .
يجب أن تكون بنية المجلد لـ
gswm-web-archetype مماثلة لتلك الموضحة في
الشكل 6-6 .
التين. 6-6. هيكل مشروع نموذج الويب
لنبدأ عملية التعديل بملف
pom.xml الموجود في
مجلد gswm-web-archetype \ src \ main \ resources \ archetype-resources . تغيير
finalName في
pom.xml من
gswm-web إلى $ {artifactId}. أثناء عملية إنشاء المشروع ، سيستبدل Maven التعبير
$ {artifactId} بالقيمة التي يقدمها المستخدم.
عندما يتم إنشاء مشروع من النموذج الأصلي ، يسأل Maven المستخدم عن اسم الحزمة. ينشئ Maven بنية مجلد تتوافق مع الحزمة الموجودة في دليل
src / main / java للمشروع الذي تم إنشاؤه. ثم يقوم Maven بنقل جميع المحتويات من مجلد
archetype-resources / src / main / java archetype إلى هذه الحزمة. لأن إذا كنت تريد
أن يكون
AppStatusServlet في
الحزمة الفرعية web.servlet ، فأنشئ مجلد
الويب / servlet وانقل AppStatusServlet هناك.
يوضح الشكل 6-7 الموقع الجديد لـ
AppStatusServlet.java .
الشكل 6-7. AppStatusServlet في حزمة web.servlet
افتح
AppStatusServlet.java وقم بتغيير اسم
الحزمة من
الحزمة $ {package} ؛ على
الحزمة $ {package} .web.servlet ؛الخطوة الأخيرة في إنشاء نموذج أصلي هي تنفيذ الأمر التالي من سطر الأوامر ، الموجود في مجلد gswm-web-archetype:
mvn clean install
استخدام النماذج الأولية
بمجرد تثبيت النموذج الأصلي ، فإن أسهل طريقة لإنشاء مشروع منه هي ، في المجلد
C: \ apress \ gswm-book \ Chapter6 ، تنفيذ الأمر التالي:
mvn archetype:generate -DarchetypeCatalog=local
ردًا على استفسارات Maven ، أدخل القيم الموضحة في
القائمة 6-10 ، وسترى المشروع الذي تم إنشاؤه.
قائمة 6-10. إنشاء مشروع جديد باستخدام النموذج الأصلي C:\apress\gswm-book\chapter6>mvn archetype:generate -DarchetypeCatalog=local [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Maven Stub Project (No POM) 1 [INFO] ------------------------------------------------------------------------ [INFO] Generating project in Interactive mode [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache. maven.archetypes:maven-archetype-quickstart:1.0) Choose archetype:1: local -> com.apress.gswmbook:gswm-web-archetype (gswm-web-archetype) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 1 Define value for property 'groupId': : com.apress.gswmbook Define value for property 'artifactId': : test-project Define value for property 'version': 1.0-SNAPSHOT: : Define value for property 'package': com.apress.gswmbook: : Confirm properties configuration: groupId: com.apress.gswmbook artifactId: test-project version: 1.0-SNAPSHOT package: com.apress.gswmbook Y: : ------------------------------------------------------------------------------ project [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1:27.635s [INFO] Finished at: Mon Oct 13 23:36:01 MDT 2014 [INFO] Final Memory: 9M/22M [INFO] ------------------------------------------------------------------------
لأن
يحتوي ملف
pom.xml الخاص
بمشروع الاختبار بالفعل على المكون الإضافي
Tomcat ، ثم قم بتشغيل
الأمر mvn tomcat7: run في المجلد
C: \ apress \ gswmbook \ Chapter6 \ test-project لبدء
المشروع . افتح متصفحًا
وانتقل إلى
localhost : 8080 / test-project / status . سترى النقش
موافق ، كما هو موضح في
الشكل 6-8 .
الشكل 6-8. الصفحة التي تم إنشاؤها بواسطة المشروع الذي تم إنشاؤه
الملخص
تعد النماذج الأصلية لـ Maven بذرة مشروعات تتيح لك إطلاق مشاريع جديدة بسرعة. في هذا الفصل ، تم استخدام النماذج الأولية المدمجة لإنشاء مشاريع معقدة مخضرم ، مثل مشاريع الويب أو المشاريع متعددة الوحدات. لقد تعلمت أيضًا كيفية إنشاء واستخدام نماذج مخصصة.
في الفصل التالي ، ستتعلم أساسيات إنشاء المواقع والتوثيق وإعداد التقارير باستخدام Maven.