JavaRush /Blog Java /Random-MS /Menyambung perpustakaan menggunakan Maven

Menyambung perpustakaan menggunakan Maven

Diterbitkan dalam kumpulan
Menyambung perpustakaan menggunakan Maven - 1 Masalah JavaRush menggunakan beberapa pakej yang ada dalam JDK8, dan kemudiannya dipotong. Contohnya, JavaFX untuk permainan atau JAXB untuk pemprosesan XML. Oleh itu, jika anda menggunakan versi baru JDK, maka anda menghadapi masalah... Tetapi walaupun anda menggunakan JDK8 sekolah lama, maka anda juga menghadapi masalah... Dalam pencarian 4 Koleksi anda perlu menyambungkan Jackson untuk memproses JSON. Sudah tentu, semuanya boleh disambungkan secara manual, tetapi ia agak membosankan. Anda perlu memuat turunnya secara manual, menambahnya pada projek... Penyelesaian Sebenarnya, Maven diperlukan untuk mengautomasikan rutin ini. 0) Saya amat mengesyorkan membuat salinan sandaran projek JavaRush, jika tidak, anda tidak akan tahu... 1) Mula-mula, mari tambahkan Maven pada projek kami. Klik kanan pada modul 4.JavaCollections, pilih Tambah Sokongan Rangka Kerja... Maven, [Ok] 2) Sekarang kita jumpa fail pom.xml, tambah blok di dalamnya secara manual
<dependencies>
</dependencies>
Sejurus selepas </version> 3) Dan kemudian kami mula menambah pakej yang kami perlukan. Jika kami memerlukan Jeckson, kami google "jackson maven dependency" Kami mendapati jawapan seperti ini: http://tutorials.jenkov.com/java-json/jackson-installation.html Kami melihat bahawa untuk Jeckson kami memerlukan 3 dependencies (artifactId) : jackson- core, jackson-anotation, jackson-databind Terdapat kebergantungan lain, tetapi kami belum memerlukannya lagi; kami akan menambahkannya apabila kami memerlukannya. Kini kami mencari 3 kebergantungan ini di laman web ini - https://mvnrepository.com/ Kami memasukkan nama artifak kami di sana, cari yang digunakan oleh majoriti atau versi terkini. Dan salin teks pergantungan ke pom.xml kami. 4) Secara keseluruhan, pom.xml kami menjadi seperti ini:
<?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>
Hebat, klik kanan padanya dan pilih Maven/Reimport. 5) Sekarang Jeckson berada dalam program kami, nama merah objek telah hilang. Tetapi kod itu berhenti menyusun, ia menulis ralat:
Error:java: error: release version 5 not supported
Atas sebab tertentu, apabila memperkenalkan Maven ke dalam projek, versi Java yang disokong jatuh kepada 5... Kita perlu membetulkannya: File\Settings\Build, Execution, Deployment\Compiler\Java Compiler Terdapat dalam modul ia menunjukkan bahawa untuk modul kami 4.JavaCollections - anda perlu kod dalam Java5... Kami padamkan modul kami dalam tetingkap ini. Tetapi bukan itu sahaja, kemudian buka File\Project Structure\Modules Di sana kami memilih modul kami 4.JavaCollections. Seterusnya, pilih tahap Bahasa - tab lalai Projek. 5.1) Saya dapati cara menyelesaikan masalah dari titik 5. Cuma tambahkan yang berikut pada 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>
Sekarang Maven menetapkan versi bytecode untuk modul kami bersamaan dengan JDK 8 dan kami gembira dengan ini. Saya tidak memadam titik ke-5, saya meninggalkannya untuk maklumat umum. Supaya ada pemahaman di mana versi JDK boleh ditukar dalam IDEA 6) Bercakap tentang lalai Projek. JavaRush berjalan pada JDK 8. Dan jika anda mempunyai versi 11 (atau lebih baru), maka anda akan kerap menyumpah Pengesah, yang tidak lulus kod anda. Kerana anda akan menulis kod yang anda masukkan dalam JDK 9+, semuanya akan berfungsi untuk anda dan Pengesah akan memberikan ralat kepada anda. Oleh itu, pergi: File\Project Structure\Project Kami menunjukkan versi semasa JDK anda, dan di bawahnya, nyatakan tahap bahasa - betul-betul 8 - Lambdas, jenis anotasi dsb. Apakah faedahnya - anda akan melihat keupayaan JDK 9+, tetapi jika anda cuba menambahnya, IDEA akan mengutuk. Contohnya, "aaa".lines(); - anda boleh menulis (IDEA akan menggantikannya, walaupun ia akan menyerlahkannya dengan warna merah), anda boleh gagal - kaji bahagian dalam. Tetapi ia tidak akan membenarkan anda menyusun. 7) Perkara terakhir yang perlu kita lakukan ialah membetulkan laluan di dalam pakej 4.JavaCollections. Maven membuat semula mereka untuk dirinya sendiri, kami mengembalikannya seperti: a) Pergi ke File\Project Structure\Modules b) Pilih 4.JavaCollections\Source c) Padamkan sasaran, sumber, ujian d) Letakkan Folder Sumber pada src e) Alihkan com folder ke cakera kembali ke src e) Folder utama dipadamkan. Secara umum, kami melakukannya seperti sebelum Maven, dengan analogi dengan 3.JavaMultithreading 8) Sekarang kami menambah kebergantungan yang tinggal sendiri, contohnya untuk JAXB. Jika anda perlu menambah pengelogan, artikel saya boleh membantu . Kami menambahnya pada resume - Maven. awak memang cantik! Jika ia membantu - suka, langgan, loceng!)))
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION