عادة عندما أقوم بإنشاء مشروع باستخدام Maven ، أقوم بتقسيم مشروع التطبيق إلى وحدات أصغر متعددة.
تحتوي مشاريع Gradle أيضًا على أكثر من مكون واحد ، والذي نسميه أيضًا بنيات متعددة المشروعات.
نقوم أولاً بإنشاء بناء متعدد المشروع:
mkdir cmdgradleproj && cd cmdgradleprojgradle init
في هذا الوقت
D: /cmdgradleproj> تنفيذ في الدليل: tree /f
هيكل المشروع كما يلي:
│ build.gradle│ gradlew│ gradlew.bat│ settings.gradle│ ├.gradle│ └3.0│ └gradle └wrapper gradle-wrapper.jar gradle-wrapper.properties
ثم ، إنشاء وحدات متعددة. هنا ، خذ وحدات Core و Web Assegures ، وقم أولاً بإنشاء أربعة أدلة (يتم استخدام مجلدات الاختبار لكتابة فئات الاختبار):
MKDIR CORE/SRC/MAIN/JAVAMKDIR CORE/SRC/MAIN/TESTMKDIR WEB/SRC/MAY
الوحدة الأساسية: تحتوي على بعض المكونات الشائعة التي يمكن استخدامها بواسطة وحدات أخرى من البرنامج. في المثال ، هناك فصل واحد فقط: يعيد فئة MessageService "Hello World!" خيط. تحتوي هذه الوحدة على تبعيات: Junit 4.11 و Commons-Lang3.
وحدة الويب: تحتوي الوحدة على فئة HelloWorld ، وهي بداية البرنامج. يحصل على معلومات من كائن MessageService ويكتب المعلومات المستلمة في ملف السجل. تحتوي الوحدة النمطية على تبعيات: تتطلب الوحدة النمطية الأساسية وتستخدم أيضًا Log4J كـ LOG.
الآن وبعد أن أنشأنا الدليل المطلوب ، فإن الخطوة التالية هي تكوين إنشاء Gradle ، وتكوين المشاريع المضمنة أولاً في بناء متعدد المشروع.
يمكننا تكوين المشاريع المدرجة في البناء متعدد المشروع من خلال الخطوات التالية:
1. إنشاء ملف Settings.Gradle في دليل الجذر لمشروع الجذر. يجب أن يحتوي بناء Gradle متعدد المشروع على هذا الملف لأنه يحدد تلك المشاريع المدرجة في البناء متعدد المشروع.
2. تأكد من تضمين المشاريع على شبكة الإنترنت والمشاريع الأساسية في بنياتنا متعددة المشروعات.
ملف Settings.Gradle الخاص بنا كما يلي:
تشمل "Core"
قم بتضمين "الويب"
الاختصار: قم بتضمين "Core" ، "الويب"
تعديل build.gradle في دليل الجذر:
// التكوين العام لجميع المشاريع الفرعية الفرعية {تطبيق البرنامج المساعد: 'java' // تطبيق البرنامج المساعد: 'Eclipse' plugin: 'Idea' الإصدار = '1.0' javadoc]*. الخيارات*.encoding = 'utf-8' // تحديد رقم الإصدار ext {springversion = '4.3.3ise' hibernateversion = '5.2.2.final'} repositories {mavencentral ()} {manisest {depluretes ("التنفيذ-title": "gradle")}}}} هنا All*.exclude Group: 'Commons-HttpClient' All*.exclude Group: 'commons-logging' All*.exclude Group: 'Commons-BeanuTils' ، module: 'commons-beanutils'} تبعيات {// مجموعة التبعية العامة ("org.springframework: spring-contex "org.springframework: spring-morm: $ springversion" ، "org.springframework: spring-tx: $ springversion" ، "org.springframework.data:Spring-data-jpa:1.10.3.release" ، "org.hibernate: hibernate-entity. "C3P0: C3P0: 0.9.1.2" ، "Mysql: Mysql-Connector-Java: 6.0.4" ، "org.slf4j: slf4j-nop: 1.7.21" ، ). ترجمة jartree // اختبار التبعية testcompile ("org.springframework: Spring-test: $ Springversion" ، "Junit: Junit: 4.12")} // عرض جميع الجرار للترجمة تحت المشروع الحالي. listjars المهام (الوصف: "عرض جميع جرس الترجمة. ') << {configurations.compile.each {file file -> println file.name}}}}بعد ذلك ، يمكنك تعديل Core/Build.gradle لتحديد تبعيات الوحدة الأساسية:
// يمكن أيضًا تحديد اسم حزمة jar archivesbasename = 'core' // أيضًا تكوينات أخرى. هنا ، يرث التكوين الموجود في الوحدة الأصل مباشرة تكوين وحدة الويب يحتاج إلى الاعتماد على الوحدة النمطية الأساسية ، وبالتالي يتم تعريف الويب/build.gradle على النحو التالي: تطبيق البرنامج المساعد: "الحرب" التبعية {// التبعية Core Module Project (": core"). "org.apache.taglibs: taglibs-standard-impl: 1.2.1") "javax.servlet.jsp.jstl: javax.servlet.jsp.jstl-api: 1.2.1) "*.properties" في ("web-inf/classes")} classpath = classpath-sourceSts.main.output classpath filetree (dir: libsdir ، include: "$ {project.name}-$ {version} .jar")} task ('jarpath') << } println () ؛ }3. تجميع المشروع
عرض جميع الجرار:
> Gradle ListJars // عرض تبعيات كل وحدة:> Gradle: Core: Tensionies> Gradle: Web: تبعيات // ترجمة جميع الوحدات النمطية:> Gradle Build
قارن الدليل في هذا الوقت على النحو التالي:
│ build.gradle│ gradlew│ gradlew.bat│ settings.gradle│ ├.gradle│ └3.0│ └TaskArtifacts│ cache.properties│ cache.properties.lock│ filehashes.bin│ filesnapshots.bin│ filesnapshottoStoTeex.bin│ taskartifacts.bin│ ├core│ │ build.gradle│ │ ├ ─build │ ├libs│ │ │ -1.0.jar│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └ └ │ │ │ └java│ └ └java│ └ └java│ └java│ └jar └ └ └ -│ -│ measest.mf │s │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │. └
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.