المشكلة أن JavaRush يستخدم بعض الحزم التي كانت موجودة في JDK8، ثم تم قطعها. على سبيل المثال، JavaFX للألعاب، أو JAXB لمعالجة XML. لذلك، إذا كنت تستخدم إصدارًا جديدًا من JDK، فستواجه مشكلة... ولكن حتى إذا كنت تستخدم الإصدار القديم JDK8، فستواجه أيضًا مشكلة... في Quest 4 Collections، ستحتاج إلى توصيل Jackson لمعالجة JSON. بالطبع، يمكن توصيل كل شيء يدويًا، لكنه ممل جدًا. يجب عليك تنزيلها يدويًا وإضافتها إلى المشروع... الحل في الواقع، هناك حاجة إلى Maven لأتمتة هذا الروتين. 0) أوصي بشدة بعمل نسخة احتياطية من مشروع JavaRush، وإلا فلن تعرف أبدًا... 1) أولاً، دعنا نضيف Maven إلى مشروعنا. انقر بزر الماوس الأيمن على وحدة 4.JavaCollections، وحدد Add Framework Support... Maven، [Ok] 2) الآن نجد ملف pom.xml، ونضيف كتلة فيه يدويًا
<dependencies>
</dependencies>
مباشرة بعد </version> 3) وبعد ذلك نبدأ بإضافة الحزم التي نحتاجها. إذا كنا بحاجة إلى Jeckson، فإننا نبحث في Google عن "تبعية jackson maven" ونجد إجابة مثل هذا: http://tutorials.jenkov.com/java-json/jackson-installation.html نرى أنه بالنسبة لـ Jeckson نحتاج إلى 3 تبعيات (artifactId) : jackson-core, jackson-annotations, jackson-databind هناك تبعيات أخرى، لكننا لسنا بحاجة إليها بعد؛ سنضيفها عندما نحتاج إليها. الآن نبحث عن هذه التبعيات الثلاثة على هذا الموقع - https://mvnrepository.com/ ونقوم بإدخال أسماء القطع الأثرية لدينا هناك، ونجد تلك التي تستخدمها الأغلبية، أو الإصدار الأحدث. وانسخ نص التبعية إلى pom.xml الخاص بنا. 4) في المجمل، أصبح ملف 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>groupId</groupId>
<artifactId>4.JavaCollections</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.12.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.12.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.3</version>
</dependency>
</dependencies>
</project>
رائع، انقر بزر الماوس الأيمن عليه وحدد Maven/Reimport. 5) الآن أصبح Jeckson موجودًا في برامجنا، وقد اختفت أسماء الكائنات الحمراء. لكن الكود توقف عن التجميع، ويكتب خطأ:
Error:java: error: release version 5 not supported
لسبب ما، عند إدخال Maven في مشروع، ينخفض إصدار Java المدعوم إلى 5... نحتاج إلى إصلاح هذا: File\Settings\Build, Execution, Deployment\Compiler\Java Compiler هناك في الوحدة يشار إلى ذلك بالنسبة لوحدتنا 4.JavaCollections - تحتاج إلى البرمجة بلغة Java5... نقوم بحذف الوحدة الخاصة بنا في هذه النافذة. ولكن هذا ليس كل شيء، ثم افتح File\Project Structure\Modules هناك نختار الوحدة 4.JavaCollections. بعد ذلك، حدد مستوى اللغة - علامة التبويب الافتراضية للمشروع. 5.1) لقد وجدت كيفية حل المشكلة من النقطة 5. فقط أضف ما يلي إلى pom.xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
الآن يقوم Maven بتعيين إصدار الرمز الثانوي لوحدتنا يساوي JDK 8 ونحن سعداء بذلك. لم أحذف النقطة الخامسة، بل تركتها للحصول على معلومات عامة. بحيث يكون هناك فهم للمكان الذي يمكن فيه تغيير إصدارات JDK في IDEA 6) الحديث عن المشروع الافتراضي. يعمل JavaRush على JDK 8. وإذا كان لديك الإصدار 11 (أو أحدث)، فسوف تقسم بانتظام على Validator، الذي لا يمرر الكود الخاص بك. لأنك ستكتب الكود الذي أدخلته في JDK 9+، فكل شيء سيعمل لصالحك، وسيعطيك برنامج التحقق خطأ. لذلك، انتقل إلى: File\Project Structure\Project نشير إلى الإصدار الحالي من JDK، وتحته، نشير إلى مستوى اللغة - بدقة 8 - Lambdas، واكتب التعليقات التوضيحية وما إلى ذلك. ما هي الفائدة - سترى إمكانيات JDK 9+، ولكن إذا حاولت إضافتها، فسوف تلعن IDEA. على سبيل المثال، "aaa".lines(); - يمكنك الكتابة (سوف تحل محلها IDEA، على الرغم من أنها ستسلط الضوء عليها باللون الأحمر)، يمكنك أن تفشل - ادرس الدواخل. لكنها لن تسمح لك بالتجميع. 7) آخر شيء يتعين علينا القيام به هو تصحيح المسارات داخل الحزمة 4.JavaCollections. أعاد Maven صنعها لنفسه، ونعيدها كما كانت: أ) انتقل إلى File\Project Structure\Modules ب) حدد 4.JavaCollections\Source ج) احذف الهدف والمصادر والاختبار د) ضع مجلد المصدر على src e) انقل الملف com إلى القرص مرة أخرى إلى src e) يتم حذف المجلد الرئيسي. بشكل عام، نحن نفعل ذلك كما كان قبل Maven، عن طريق القياس مع 3.JavaMultithreading 8) الآن نضيف التبعيات المتبقية بأنفسنا، على سبيل المثال لـ JAXB. إذا كنت بحاجة إلى إضافة التسجيل، فإن مقالتي يمكن أن تساعدك . نضيفه إلى السيرة الذاتية - مخضرم. انت جذاب! إذا كان ذلك مفيدًا - مثل الاشتراك والجرس!)))
GO TO FULL VERSION