JavaRush /Java Blog /Random-TL /Pagkonekta ng mga aklatan gamit ang Maven

Pagkonekta ng mga aklatan gamit ang Maven

Nai-publish sa grupo
Pagkonekta ng mga aklatan gamit ang Maven - 1 Problema JavaRush ay gumagamit ng ilang mga pakete na nasa JDK8, at pagkatapos ay pinutol ang mga ito. Halimbawa, JavaFX para sa mga laro, o JAXB para sa pagpoproseso ng XML. Samakatuwid, kung gumagamit ka ng bagong bersyon ng JDK, may problema ka... Ngunit kahit na nasa lumang paaralan ka ng JDK8, may problema ka rin... Sa quest 4 Collections kakailanganin mong ikonekta si Jackson upang iproseso ang JSON. Siyempre, ang lahat ay maaaring ikonekta nang manu-mano, ngunit ito ay medyo mapurol. Kailangan mong i-download ang mga ito nang manu-mano, idagdag ang mga ito sa proyekto... Solusyon Sa totoo lang, kailangan si Maven para i-automate ang routine na ito. 0) Lubos kong inirerekumenda ang paggawa ng backup na kopya ng proyekto ng JavaRush, kung hindi, hindi mo malalaman... 1) Una, idagdag natin si Maven sa ating proyekto. Mag-right-click sa 4.JavaCollections module, piliin ang Magdagdag ng Suporta sa Framework... Maven, [Ok] 2) Ngayon nakita namin ang pom.xml file, magdagdag ng isang bloke dito nang manu-mano
<dependencies>
</dependencies>
Pagkatapos mismo ng </version> 3) At pagkatapos ay sisimulan namin ang pagdaragdag ng mga pakete na kailangan namin. Kung kailangan namin ng Jeckson, nag-google kami ng "jackson maven dependency" Nakahanap kami ng sagot tulad nito: http://tutorials.jenkov.com/java-json/jackson-installation.html Nakikita namin na para sa Jeckson kailangan namin ng 3 dependencies (artifactId) : jackson- core, jackson-annotation, jackson-databind Mayroong iba pang mga dependency, ngunit hindi pa namin kailangan ang mga ito; idaragdag namin ang mga ito kapag kailangan namin ang mga ito. Ngayon hinahanap namin ang 3 dependency na ito sa site na ito - https://mvnrepository.com/ Ilalagay namin ang mga pangalan ng aming mga artifact doon, hanapin ang mga ginagamit ng karamihan, o ang pinakabagong bersyon. At kopyahin ang dependency text sa aming pom.xml. 4) Sa kabuuan, naging ganito ang aming 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>
Kahanga-hanga, i-right-click ito at piliin ang Maven/Reimport. 5) Ngayon si Jeckson ay nasa aming mga programa, ang mga pulang pangalan ng mga bagay ay nawala. Ngunit ang code ay tumigil sa pag-compile, nagsusulat ito ng isang error:
Error:java: error: release version 5 not supported
Para sa ilang kadahilanan, kapag ipinakilala ang Maven sa isang proyekto, ang bersyon ng suportadong Java ay bumaba sa 5... Kailangan nating ayusin ito: File\Settings\Build, Execution, Deployment\Compiler\Java Compiler Doon sa module ay ipinahiwatig na para sa aming module 4.JavaCollections - kailangan mong mag-code sa Java5... Tinatanggal namin ang aming module sa window na ito. Ngunit hindi lang iyon, pagkatapos ay buksan ang File\Project Structure\Modules Doon namin piliin ang aming module 4.JavaCollections. Susunod, piliin ang Antas ng wika - tab na Default ng proyekto. 5.1) Natagpuan ko kung paano lutasin ang problema mula sa punto 5. Idagdag lamang ang sumusunod sa 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>
Ngayon, itinakda ni Maven ang bersyon ng bytecode para sa aming module na katumbas ng JDK 8 at masaya kami dito. Hindi ko tinanggal ang 5th point, iniwan ko ito para sa pangkalahatang impormasyon. Upang magkaroon ng pag-unawa kung saan maaaring baguhin ang mga bersyon ng JDK sa IDEA 6) Speaking of Project default. Ang JavaRush ay tumatakbo sa JDK 8. At kung mayroon kang bersyon 11 (o mas bago), pagkatapos ay regular kang susumpa sa Validator, na hindi pumasa sa iyong code. Dahil isusulat mo ang code na inilagay mo sa JDK 9+, gagana ang lahat para sa iyo, at bibigyan ka ng Validator ng error. Samakatuwid, pumunta: File\Project Structure\Project Ipinapahiwatig namin ang iyong kasalukuyang bersyon ng JDK, at sa ilalim nito, ipahiwatig ang antas ng wika - mahigpit na 8 - Lambdas, uri ng mga anotasyon atbp. Ano ang pakinabang - makikita mo ang mga kakayahan ng JDK 9+, ngunit kung susubukan mong idagdag ang mga ito, susumpa ang IDEA. Halimbawa, "aaa".lines(); - maaari kang sumulat (papalitan ito ng IDEA, kahit na ito ay i-highlight ito sa pula), maaari kang mabigo - pag-aralan ang mga panloob. Ngunit hindi ka nito hahayaang mag-compile. 7) Ang huling bagay na kailangan nating gawin ay itama ang mga landas sa loob ng 4.JavaCollections package. Ginawa muli ni Maven ang mga ito para sa sarili nito, ibinabalik namin ang mga ito tulad ng dati: a) Pumunta sa File\Project Structure\Modules b) Piliin ang 4.JavaCollections\Source c) Tanggalin ang target, mga mapagkukunan, pagsubok d) Place Source Folder sa src e) Ilipat ang com folder sa disk pabalik sa src e) Ang pangunahing folder ay tinanggal. Sa pangkalahatan, ginagawa namin ito tulad ng dati sa Maven, sa pamamagitan ng pagkakatulad sa 3.JavaMultithreading 8) Ngayon ay idinagdag namin ang natitirang mga dependency sa aming sarili, halimbawa para sa JAXB. Kung kailangan mong magdagdag ng pag-log, makakatulong ang aking artikulo . Idinagdag namin ito sa resume - Maven. Ikaw ay maganda! Kung nakatulong - i-like, subscribe, bell!)))
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION