JavaRush /Blog Java /Random-VI /Kết nối thư viện bằng Maven
Дмитрий Яковенко
Mức độ
Москва

Kết nối thư viện bằng Maven

Xuất bản trong nhóm
Kết nối thư viện bằng Maven - 1 Sự cố JavaRush sử dụng một số gói có trong JDK8 và sau đó chúng đã bị cắt. Ví dụ: JavaFX cho trò chơi hoặc JAXB để xử lý XML. Do đó, nếu bạn đang sử dụng phiên bản JDK mới thì bạn sẽ gặp sự cố... Nhưng ngay cả khi bạn đang sử dụng JDK8 trường học cũ thì bạn cũng gặp sự cố... Trong nhiệm vụ 4 Bộ sưu tập, bạn sẽ cần kết nối Jackson để xử lý JSON. Tất nhiên, mọi thứ đều có thể được kết nối thủ công, nhưng nó khá buồn tẻ. Bạn phải tải chúng xuống theo cách thủ công, thêm chúng vào dự án... Giải pháp Trên thực tế, Maven cần thiết để tự động hóa quy trình này. 0) Tôi thực sự khuyên bạn nên tạo một bản sao lưu của dự án JavaRush, nếu không thì bạn sẽ không bao giờ biết... 1) Trước tiên, hãy thêm Maven vào dự án của chúng ta. Nhấp chuột phải vào mô-đun 4.JavaCollections, chọn Add Framework Support... Maven, [Ok] 2) Bây giờ chúng ta tìm thấy tệp pom.xml, thêm một khối vào đó theo cách thủ công
<dependencies>
</dependencies>
Ngay sau </version> 3) Và sau đó chúng tôi bắt đầu thêm các gói chúng tôi cần. Nếu chúng tôi cần Jeckson, chúng tôi sẽ google “sự phụ thuộc của jackson maven”. Chúng tôi tìm thấy câu trả lời như thế này: http://tutorials.jenkov.com/java-json/jackson-installation.html Chúng tôi thấy rằng đối với Jeckson, chúng tôi cần 3 phần phụ thuộc (artifactId) : jackson-core, jackson-annotations, jackson-databind Có những phần phụ thuộc khác, nhưng chúng tôi chưa cần chúng; chúng tôi sẽ thêm chúng khi cần. Bây giờ chúng tôi tìm kiếm 3 phần phụ thuộc này trên trang web này - https://mvnrepository.com/ Chúng tôi nhập tên các hiện vật của chúng tôi vào đó, tìm những hiện vật được đa số sử dụng hoặc phiên bản mới nhất. Và sao chép văn bản phụ thuộc vào pom.xml của chúng tôi. 4) Tổng cộng, pom.xml của chúng tôi trở thành như thế này:
<?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>
Tuyệt vời, nhấp chuột phải vào nó và chọn Maven/Reimport. 5) Bây giờ Jeckson đã có trong chương trình của chúng ta, tên màu đỏ của các đối tượng đã biến mất. Nhưng mã ngừng biên dịch, nó báo lỗi:
Error:java: error: release version 5 not supported
Vì lý do nào đó, khi đưa Maven vào một dự án, phiên bản Java được hỗ trợ giảm xuống còn 5... Chúng ta cần sửa lỗi này: File\Settings\Build, Execution, Deployment\Compiler\Java Compiler Trong mô-đun có ghi rằng đối với mô-đun 4.JavaCollections của chúng tôi - bạn cần viết mã bằng Java5... Chúng tôi xóa mô-đun của mình trong cửa sổ này. Nhưng đó không phải là tất cả, sau đó mở File\Project Structure\Modules Ở đó chúng ta chọn mô-đun 4.JavaCollections. Tiếp theo, chọn cấp độ Ngôn ngữ - tab Mặc định dự án. 5.1) Tôi đã tìm ra cách giải quyết vấn đề từ điểm 5. Chỉ cần thêm phần sau vào 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>
Bây giờ Maven đặt phiên bản mã byte cho mô-đun của chúng tôi bằng JDK 8 và chúng tôi hài lòng với điều này. Tôi không xóa điểm thứ 5, tôi để lại thông tin chung. Để hiểu được phiên bản JDK nào có thể được thay đổi trong IDEA 6) Nói về mặc định của Dự án. JavaRush chạy trên JDK 8. Và nếu bạn có phiên bản 11 (hoặc mới hơn), thì bạn sẽ thường xuyên chửi bới Trình xác thực, trình này không chuyển mã của bạn. Bởi vì bạn sẽ viết mã mà bạn đã nhập trong JDK 9+ nên mọi thứ sẽ hoạt động với bạn và Trình xác thực sẽ báo lỗi cho bạn. Do đó, hãy truy cập: File\Project Structure\Project Chúng tôi cho biết phiên bản JDK hiện tại của bạn và theo đó, cho biết cấp độ ngôn ngữ - đúng 8 - Lambdas, gõ chú thích, v.v. Lợi ích là gì - bạn sẽ thấy các khả năng của JDK 9+, nhưng nếu bạn cố gắng thêm chúng, IDEA sẽ nguyền rủa. Ví dụ: "aaa".lines(); - bạn có thể viết (IDEA sẽ thay thế nó, mặc dù nó sẽ đánh dấu nó bằng màu đỏ), bạn có thể thất bại - hãy nghiên cứu nội dung bên trong. Nhưng nó sẽ không cho phép bạn biên dịch. 7) Điều cuối cùng chúng ta cần làm là sửa các đường dẫn bên trong gói 4.JavaCollections. Maven tự làm lại chúng, chúng tôi trả lại chúng như cũ: a) Đi đến File\Project Structure\Modules b) Chọn 4.JavaCollections\Source c) Xóa target, rosources, test d) Đặt thư mục nguồn vào src e) Di chuyển com vào đĩa trở lại src e) Thư mục chính bị xóa. Nói chung, chúng tôi làm điều đó giống như trước Maven, bằng cách tương tự với 3.JavaMultithreading 8) Bây giờ chúng tôi tự thêm các phần phụ thuộc còn lại, ví dụ như cho JAXB. Nếu bạn cần thêm tính năng ghi nhật ký, bài viết của tôi có thể giúp ích . Chúng tôi thêm nó vào sơ yếu lý lịch - Maven. Bạn thật lộng lẫy! Nếu nó hữu ích - thích, đăng ký, chuông!)))
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION