JavaRush /وبلاگ جاوا /Random-FA /اتصال کتابخانه ها با استفاده از Maven
Дмитрий Яковенко
مرحله
Москва

اتصال کتابخانه ها با استفاده از Maven

در گروه منتشر شد
اتصال کتابخانه ها با استفاده از Maven - 1 مشکل JavaRush از بسته هایی استفاده می کند که در JDK8 بودند و سپس برش داده شدند. به عنوان مثال، JavaFX برای بازی ها، یا JAXB برای پردازش XML. بنابراین، اگر از یک نسخه جدید JDK استفاده می کنید، پس مشکل دارید... اما حتی اگر در JDK8 مدرسه قدیمی هستید، پس شما نیز مشکل دارید... در مجموعه quest 4 باید جکسون را متصل کنید. برای پردازش JSON. البته، همه چیز را می توان به صورت دستی وصل کرد، اما بسیار کسل کننده است. شما باید آنها را به صورت دستی دانلود کنید، آنها را به پروژه اضافه کنید... راه حل در واقع، Maven برای خودکارسازی این روال مورد نیاز است. 0) من به شدت توصیه می کنم از پروژه JavaRush یک نسخه پشتیبان تهیه کنید، در غیر این صورت هرگز نمی دانید ... 1) ابتدا اجازه دهید Maven را به پروژه خود اضافه کنیم. روی ماژول 4.JavaCollections کلیک راست کنید، گزینه Add Framework Support... Maven، [Ok] 2) اکنون فایل pom.xml را پیدا می کنیم، یک بلوک را به صورت دستی به آن اضافه می کنیم.
<dependencies>
</dependencies>
درست بعد از </version> 3) و سپس شروع به اضافه کردن بسته های مورد نیاز خود می کنیم. اگر به جکسون نیاز داریم، «وابستگی جکسون ماون» را در گوگل جستجو می کنیم، پاسخی مانند این پیدا می کنیم: http://tutorials.jenkov.com/java-json/jackson-installation.html می بینیم که برای جکسون به 3 وابستگی نیاز داریم (artifactId) : jackson-core, jackson-annotations, jackson-databind وابستگی های دیگری نیز وجود دارد، اما ما هنوز به آنها نیازی نداریم؛ زمانی که به آنها نیاز داشته باشیم آنها را اضافه خواهیم کرد. اکنون ما در این سایت به دنبال این 3 وابستگی می گردیم - 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) اکنون جکسون در برنامه های ما است، نام اشیاء قرمز ناپدید شده است. اما کد کامپایل متوقف شد، یک خطا می نویسد:
Error:java: error: release version 5 not supported
بنا به دلایلی، هنگام معرفی Maven به یک پروژه، نسخه جاوای پشتیبانی شده به 5 کاهش می یابد... باید این مورد را برطرف کنیم: File\Settings\Build, Execution, Deployment\Compiler\Java Compiler آنجا در ماژول نشان داده شده است که برای ماژول ما 4.JavaCollections - باید در Java5 کدنویسی کنید... ما ماژول خود را در این پنجره حذف می کنیم. اما این همه چیز نیست، سپس File\Project Structure\Modules را باز کنید در آنجا ماژول 4.JavaCollections خود را انتخاب می کنیم. سپس زبانه Language level - Project default را انتخاب کنید. 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 قرار می دهد و ما از این راضی هستیم. نکته 5 را حذف نکردم برای اطلاعات عمومی گذاشتم. به طوری که درک این موضوع وجود دارد که کدام نسخه های JDK را می توان در IDEA 6 تغییر داد) صحبت از پیش فرض پروژه. JavaRush روی JDK 8 اجرا می شود. و اگر نسخه 11 (یا جدیدتر) را دارید، مرتباً به Validator فحش می دهید که کد شما را ارسال نمی کند. چون کدی را که در JDK 9+ وارد کردید می نویسید همه چیز برای شما کار می کند و Validator به شما خطا می دهد. بنابراین، بروید: File\Project Structure\Project نسخه فعلی JDK شما را نشان می‌دهیم، و در زیر آن، سطح زبان را مشخص می‌کنیم - دقیقاً 8 - Lambdas، تایپ حاشیه‌نویسی و غیره. چه فایده ای دارد - قابلیت های JDK 9+ را خواهید دید، اما اگر سعی کنید آنها را اضافه کنید، IDEA نفرین می کند. به عنوان مثال، "aaa".lines(); - می توانید بنویسید (IDEA آن را جایگزین می کند، اگرچه آن را با رنگ قرمز برجسته می کند)، می توانید شکست بخورید - درونیات را مطالعه کنید. اما به شما اجازه کامپایل نمی دهد. 7) آخرین کاری که باید انجام دهیم این است که مسیرهای داخل بسته 4.JavaCollections را اصلاح کنیم. Maven آنها را برای خودش بازسازی کرد، ما آنها را همانطور که بودند برمی گردانیم: الف) به File\Project Structure\Modules بروید ب) 4.JavaCollections\Source را انتخاب کنید ج) حذف target, rosources, test د) پوشه Source را در src قرار دهید ه) انتقال دهید پوشه com به دیسک بازگشت به src e) پوشه اصلی حذف می شود. به طور کلی، ما این کار را همانطور که قبل از Maven بود انجام می دهیم، به قیاس با 3.JavaMultithreading 8) حالا ما خودمان وابستگی های باقی مانده را اضافه می کنیم، برای مثال برای JAXB. اگر نیاز به اضافه کردن ورود به سیستم دارید، مقاله من می تواند کمک کند . ما آن را به رزومه اضافه می کنیم - Maven. تو خوشگلی! اگر کمک کرد - لایک کنید، مشترک شوید، زنگ بزنید!)))
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION