JavaRush /Java Blog /Random-ID /Menghubungkan perpustakaan menggunakan Maven
Дмитрий Яковенко
Level 35
Москва

Menghubungkan perpustakaan menggunakan Maven

Dipublikasikan di grup Random-ID
Menghubungkan perpustakaan menggunakan Maven - 1 Masalah JavaRush menggunakan beberapa paket yang ada di JDK8, lalu dipotong. Misalnya JavaFX untuk game, atau JAXB untuk pemrosesan XML. Oleh karena itu, jika Anda menggunakan JDK versi baru, maka Anda mengalami masalah... Tetapi meskipun Anda menggunakan JDK8 jadul, Anda juga mengalami masalah... Dalam pencarian 4 Koleksi Anda harus terhubung Jackson untuk memproses JSON. Tentu saja, semuanya bisa dihubungkan secara manual, tapi itu cukup membosankan. Anda harus mendownloadnya secara manual, menambahkannya ke proyek... Solusi Sebenarnya, Maven diperlukan untuk mengotomatisasi rutinitas ini. 0) Saya sangat menyarankan membuat salinan cadangan proyek JavaRush, jika tidak, Anda tidak akan pernah tahu... 1) Pertama, mari tambahkan Maven ke proyek kita. Klik kanan pada modul 4.JavaCollections, pilih Add Framework Support... Maven, [Ok] 2) Sekarang kita cari file pom.xml, tambahkan blok di dalamnya secara manual
<dependencies>
</dependencies>
Tepat setelah </version> 3) Dan kemudian kita mulai menambahkan paket yang kita perlukan. Jika kita membutuhkan Jeckson, kita google “jackson maven dependency” Kami menemukan jawaban seperti ini: http://tutorials.jenkov.com/java-json/jackson-installation.html Kami melihat bahwa untuk Jeckson kami membutuhkan 3 dependensi (artifactId) : jackson-core, jackson-annotations, jackson-databind Ada dependensi lain, tapi kami belum membutuhkannya; kami akan menambahkannya saat kami membutuhkannya. Sekarang kita mencari 3 dependensi ini di situs ini - https://mvnrepository.com/ Kami memasukkan nama artefak kami di sana, temukan yang paling banyak digunakan, atau versi terbaru. Dan salin teks ketergantungan ke pom.xml kami. 4) Secara total, pom.xml kita 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 Jackson ada di program kita, nama objek berwarna merah telah hilang. Tapi kodenya berhenti dikompilasi, ia menulis kesalahan:
Error:java: error: release version 5 not supported
Untuk beberapa alasan, ketika memperkenalkan Maven ke dalam sebuah proyek, versi Java yang didukung turun menjadi 5... Kita perlu memperbaikinya: File\Settings\Build, Execution, Deployment\Compiler\Java Compiler Di sana dalam modul ditunjukkan bahwa untuk modul kami 4.JavaCollections - Anda perlu membuat kode dalam Java5... Kami menghapus modul kami di jendela ini. Tapi bukan itu saja, lalu buka File\Project Structure\Modules Disana kita pilih modul kita 4.JavaCollections. Selanjutnya, pilih tab Tingkat bahasa - Default proyek. 5.1) Saya menemukan cara mengatasi masalah dari poin 5. Cukup tambahkan yang berikut ini ke 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 sama dengan JDK 8 dan kami senang dengan ini. Saya tidak menghapus poin ke 5, saya meninggalkannya untuk informasi umum. Sehingga ada pemahaman dimana versi JDK mana yang bisa diubah di IDE 6) Berbicara tentang Project default. JavaRush berjalan pada JDK 8. Dan jika Anda memiliki versi 11 (atau lebih baru), maka Anda akan sering bersumpah pada Validator, yang tidak meneruskan kode Anda. Karena Anda akan menulis kode yang Anda masukkan di JDK 9+, semuanya akan berfungsi untuk Anda, dan Validator akan memberi Anda kesalahan. Oleh karena itu, buka: File\Project Structure\Project Kami menunjukkan versi JDK Anda saat ini, dan di bawahnya, menunjukkan tingkat bahasa - tepatnya 8 - Lambdas, ketik anotasi, dll. Apa manfaatnya - Anda akan melihat kemampuan JDK 9+, tetapi jika Anda mencoba menambahkannya, IDEA akan terkutuk. Misalnya, "aaa".garis(); - Anda dapat menulis (IDEA akan menggantinya, meskipun akan disorot dengan warna merah), Anda dapat gagal - pelajari bagian dalamnya. Tapi itu tidak membiarkan Anda mengkompilasi. 7) Hal terakhir yang perlu kita lakukan adalah memperbaiki jalur di dalam paket 4.JavaCollections. Maven membuatnya kembali untuk dirinya sendiri, kami mengembalikannya sebagaimana adanya: a) Buka File\Project Structure\Modules b) Pilih 4.JavaCollections\Source c) Hapus target, rosources, test d) Tempatkan Folder Sumber di src e) Pindahkan folder com ke disk kembali ke src e) Folder utama dihapus. Secara umum, kami melakukannya seperti sebelum Maven, dengan analogi dengan 3.JavaMultithreading 8) Sekarang kami menambahkan sendiri dependensi yang tersisa, misalnya untuk JAXB. Jika Anda perlu menambahkan logging, artikel saya dapat membantu . Kami menambahkannya ke resume - Maven. Kamu cantik! Jika membantu - suka, berlangganan, bel!)))
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION