JavaRush /Java Blogu /Random-AZ /Maven istifadə edərək kitabxanaları birləşdirin
Дмитрий Яковенко
Səviyyə
Москва

Maven istifadə edərək kitabxanaları birləşdirin

Qrupda dərc edilmişdir
Maven istifadə edərək kitabxanaların birləşdirilməsi - 1 Problem JavaRush JDK8-də olan bəzi paketlərdən istifadə edir və sonra onlar kəsilib. Məsələn, oyunlar üçün JavaFX və ya XML emalı üçün JAXB. Buna görə də, əgər siz JDK-nın təzə versiyasından istifadə edirsinizsə, deməli probleminiz var... Amma köhnə JDK8 məktəbində olsanız belə, sizin də probleminiz var... Quest 4 Collections-da siz Jackson-u birləşdirməlisiniz. JSON-u emal etmək üçün. Əlbəttə ki, hər şeyi əl ilə bağlamaq olar, lakin olduqca darıxdırıcıdır. Siz onları əl ilə yükləməlisiniz, onları layihəyə əlavə etməlisiniz... Həll Əslində bu rejimi avtomatlaşdırmaq üçün Maven lazımdır. 0) JavaRush layihəsinin ehtiyat nüsxəsini hazırlamağı şiddətlə tövsiyə edirəm, əks halda heç vaxt bilmirsiniz... 1) Əvvəlcə Maven-i layihəmizə əlavə edək. 4.JavaCollections moduluna sağ klikləyin, Əlavə et Framework Support seçin... Maven, [Ok] 2) İndi biz pom.xml faylını tapırıq, ona əl ilə blok əlavə edirik.
<dependencies>
</dependencies>
</version>-dan dərhal sonra 3) Və sonra biz lazım olan paketləri əlavə etməyə başlayırıq. Əgər bizə Jeckson lazımdırsa, biz google-də “jackson maven dependency” axtarırıq Biz belə bir cavab tapırıq: http://tutorials.jenkov.com/java-json/jackson-installation.html Biz görürük ki, Cekson üçün bizə 3 asılılıq lazımdır (artifactId) : jackson- core, jackson-annotations, jackson-databind Başqa asılılıqlar var, lakin onlara hələ ehtiyacımız yoxdur; ehtiyac duyduğumuz zaman onları əlavə edəcəyik. İndi biz bu saytda bu 3 asılılığı axtarırıq - https://mvnrepository.com/ Biz oraya artefaktlarımızın adlarını daxil edirik, əksəriyyətin istifadə etdiyi və ya ən son versiyasını tapırıq. Və asılılıq mətnini bizim pom.xml-ə köçürün. 4) Ümumilikdə bizim pom.xml belə oldu:
<?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>
Möhtəşəm, üzərinə sağ klikləyin və Maven/Reimport seçin. 5) İndi Jeckson proqramlarımızdadır, qırmızı obyekt adları yoxa çıxdı. Lakin kod tərtib etməyi dayandırdı, xəta yazır:
Error:java: error: release version 5 not supported
Nədənsə Maven-i layihəyə daxil edərkən dəstəklənən Java-nın versiyası 5-ə enir... Bunu düzəltmək lazımdır: File\Settings\Build, Execution, Deployment\Compiler\Java Compiler Orada modulda göstərilir ki, modulumuz üçün 4.JavaCollections - Java5-də kodlamağınız lazımdır... Bu pəncərədə modulumuzu silirik. Ancaq bu, hamısı deyil, onda Fayl\Project Structure\Modules-i açın. Orada biz modulumuzu 4.JavaCollections seçirik. Sonra, Dil səviyyəsi - Layihə standart sekmesini seçin. 5.1) Problemi 5-ci bənddən necə həll edəcəyimi tapdım. Pom.xml-ə aşağıdakıları əlavə etmək kifayətdir:
<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>
İndi Maven modulumuz üçün JDK 8-ə bərabər olan bayt kodu versiyasını təyin edir və biz bundan məmnunuq. 5-ci bəndi silmədim, ümumi məlumat üçün buraxdım. Beləliklə, IDEA-da hansı JDK versiyalarının harada dəyişdirilə biləcəyini başa düşmək üçün 6) Layihənin defoltundan danışırıq. JavaRush JDK 8-də işləyir. Əgər sizdə 11 (və ya daha yeni) versiya varsa, o zaman kodunuzu keçməyən Validatoru müntəzəm olaraq söyəcəksiniz. JDK 9+-da daxil etdiyiniz kodu yazacağınız üçün hər şey sizin üçün işləyəcək və Validator sizə xəta verəcək. Buna görə də gedin: File\Project Structure\Project Biz JDK-nın cari versiyanızı göstəririk və onun altında dil səviyyəsini göstərin - ciddi şəkildə 8 - Lambdas, yazın annotasiyalar və s. Faydası nədir - JDK 9+ imkanlarını görəcəksiniz, lakin onları əlavə etməyə çalışsanız, IDEA lənətləyəcək. Məsələn, "aaa".lines(); - yaza bilərsiniz (IDEA onu əvəz edəcək, baxmayaraq ki, onu qırmızı ilə vurğulayacaq), uğursuz ola bilərsiniz - içəriləri öyrənin. Ancaq bu, tərtib etməyə imkan verməyəcək. 7) Ən son etməli olduğumuz şey 4.JavaCollections paketinin içindəki yolları düzəltməkdir. Maven onları özü üçün yenidən düzəltdi, biz onları olduğu kimi qaytarırıq: a) Fayl\Project Structure\Modules bölməsinə keçin b) 4.JavaCollections\Mənbə seçin c) Hədəfi, qaynaqları silin, test edin d) Mənbə qovluğunu src-də yerləşdirin e) com qovluğunu diskə geri src e) Əsas qovluq silinir. Ümumiyyətlə, biz bunu Mavendən əvvəl olduğu kimi, 3.JavaMultithreading ilə analogiya ilə edirik 8) İndi qalan asılılıqları özümüz əlavə edirik, məsələn JAXB üçün. Giriş əlavə etmək lazımdırsa, məqaləm kömək edə bilər . Biz onu CV-yə əlavə edirik - Maven. Siz möhtəşəmsiz! Əgər kömək etdisə - bəyənin, abunə olun, zəng edin!)))
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION