JavaRush /จาวาบล็อก /Random-TH /การเชื่อมต่อไลบรารีโดยใช้ Maven
Дмитрий Яковенко
ระดับ
Москва

การเชื่อมต่อไลบรารีโดยใช้ Maven

เผยแพร่ในกลุ่ม
การเชื่อมต่อไลบรารีโดยใช้ Maven - 1 ปัญหา JavaRush ใช้แพ็คเกจบางตัวที่อยู่ใน JDK8 จากนั้นจึงถูกตัดออก ตัวอย่างเช่น JavaFX สำหรับเกม หรือ JAXB สำหรับการประมวลผล XML ดังนั้น หากคุณใช้ JDK เวอร์ชันใหม่ แสดงว่าคุณมีปัญหา... แต่แม้ว่าคุณจะใช้ JDK8 โรงเรียนเก่า คุณก็มีปัญหาเช่นกัน... ในภารกิจ 4 คอลเลกชัน คุณจะต้องเชื่อมต่อกับแจ็คสัน เพื่อประมวลผล JSON แน่นอนว่าทุกอย่างสามารถเชื่อมต่อได้ด้วยตนเอง แต่มันก็ค่อนข้างน่าเบื่อ คุณต้องดาวน์โหลดด้วยตนเอง เพิ่มลงในโปรเจ็กต์... วิธีแก้ไข จริงๆ แล้ว Maven จำเป็นเพื่อทำให้รูทีนนี้เป็นอัตโนมัติ 0) ฉันขอแนะนำอย่างยิ่งให้สร้างสำเนาสำรองของโปรเจ็กต์ JavaRush ไม่เช่นนั้นคุณจะไม่มีทางรู้... 1) ก่อนอื่น มาเพิ่ม Maven เข้ากับโปรเจ็กต์ของเรา คลิกขวาที่โมดูล 4.JavaCollections เลือก Add Framework Support... Maven, [Ok] 2) ตอนนี้เราพบไฟล์ pom.xml แล้ว เพิ่มบล็อกเข้าไปด้วยตนเอง
<dependencies>
</dependencies>
หลังจาก </version> 3) จากนั้นเราก็เริ่มเพิ่มแพ็คเกจที่เราต้องการ ถ้าเราต้องการ Jeckson เราก็ google “jackson maven dependency” เราพบคำตอบแบบนี้: http://tutorials.jenkov.com/java-json/jackson-installation.html เราเห็นว่าสำหรับ Jeckson เราต้องการการพึ่งพา 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) ตอนนี้ Jeckson อยู่ในโปรแกรมของเรา ชื่อวัตถุสีแดงก็หายไป แต่โค้ดหยุดการคอมไพล์ มันเขียนข้อผิดพลาด:
Error:java: error: release version 5 not supported
ด้วยเหตุผลบางประการ เมื่อแนะนำ Maven ในโครงการ เวอร์ชันของ Java ที่รองรับจะลดลงเหลือ 5... เราจำเป็นต้องแก้ไขปัญหานี้: File\Settings\Build, Execution, Deployment\Compiler\Java Compiler ที่นั่นในโมดูลมีการระบุว่า สำหรับโมดูล 4.JavaCollections ของเรา - คุณต้องเขียนโค้ดใน Java5... เราลบโมดูลของเราในหน้าต่างนี้ แต่นั่นไม่ใช่ทั้งหมด จากนั้นเปิด File\Project Structure\Modules ที่นั่นเราเลือกโมดูล 4.JavaCollections ของเรา ถัดไป เลือกระดับภาษา - แท็บเริ่มต้นโครงการ 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 ตั้งค่าเวอร์ชัน bytecode สำหรับโมดูลของเราเท่ากับ JDK 8 และเราพอใจกับสิ่งนี้ ผมไม่ได้ลบจุดที่ 5 นะครับ เหลือไว้เป็นข้อมูลทั่วไป เพื่อให้มีความเข้าใจว่าเวอร์ชัน JDK ใดที่สามารถเปลี่ยนได้ใน IDEA 6) การพูดถึงค่าเริ่มต้นของโครงการ JavaRush ทำงานบน JDK 8 และหากคุณมีเวอร์ชัน 11 (หรือใหม่กว่า) คุณจะต้องสาบานกับ Validator เป็นประจำซึ่งจะไม่ส่งโค้ดของคุณ เนื่องจากคุณจะเขียนโค้ดที่คุณป้อนใน JDK 9+ ทุกอย่างจะทำงานให้คุณ และผู้ตรวจสอบจะให้ข้อผิดพลาดแก่คุณ ดังนั้น ไปที่: File\Project Structure\Project เราระบุเวอร์ชันปัจจุบันของ JDK ของคุณ และข้างใต้นั้น ระบุระดับภาษา - อย่างเคร่งครัด 8 - Lambdas พิมพ์คำอธิบายประกอบ ฯลฯ ประโยชน์คืออะไร - คุณจะเห็นความสามารถของ JDK 9+ แต่ถ้าคุณพยายามเพิ่ม IDEA จะสาปแช่ง ตัวอย่างเช่น "aaa".lines(); - คุณสามารถเขียนได้ (IDEA จะแทนที่แม้ว่าจะเน้นด้วยสีแดงก็ตาม) คุณก็ล้มเหลวได้ - ศึกษาอวัยวะภายใน แต่จะไม่ยอมให้คุณรวบรวม 7) สิ่งสุดท้ายที่เราต้องทำคือแก้ไขเส้นทางภายในแพ็คเกจ 4.JavaCollections Maven จัดแจงใหม่เพื่อตัวมันเอง เราจะคืนมันเหมือนเดิม: a) ไปที่ File\Project Structure\Modules b) เลือก 4.JavaCollections\Source c) ลบเป้าหมาย, rosources, ทดสอบ d) วางโฟลเดอร์ซอร์สบน src e) ย้าย com ไปยังดิสก์กลับไปที่ src e) โฟลเดอร์หลักจะถูกลบ โดยทั่วไป เราทำเหมือนก่อน Maven โดยการเปรียบเทียบกับ 3.JavaMultithreading 8) ตอนนี้เราเพิ่มการขึ้นต่อกันที่เหลือด้วยตัวเราเอง เช่น สำหรับ JAXB หากคุณต้องการเพิ่มการบันทึกบทความของฉัน สามารถช่วย ได้ เราเพิ่มลงในเรซูเม่ - Maven คุณเป็นคนสง่างาม! ถ้ามันช่วยได้ - กดไลค์, ติดตาม, กระดิ่ง!)))
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION