JavaRush /Блоги Java /Random-TG /Пайваст кардани китобхонаҳо бо истифода аз Maven
Дмитрий Яковенко
Сатҳи
Москва

Пайваст кардани китобхонаҳо бо истифода аз Maven

Дар гурӯҳ нашр шудааст
Пайваст кардани китобхонаҳо бо истифода аз Maven - 1 Проблемаи JavaRush баъзе бастаҳоро истифода мебарад, ки дар JDK8 буданд ва сипас бурида шуданд. Масалан, JavaFX барои бозиҳо ё JAXB барои коркарди XML. Аз ин рӯ, агар шумо versionи нави JDK-ро истифода баред, пас шумо мушкилот доред... Аммо ҳатто агар шумо дар мактаби кӯҳнаи JDK8 бошед, пас шумо низ мушкилот доред... Дар quest 4 Collections ба шумо лозим меояд, ки пайваст шавед. Ҷексон барои коркарди JSON. Албатта, ҳама чизро метавон ба таври дастӣ пайваст кард, аммо ин хеле кунд аст. Шумо бояд онҳоро ба таври дастӣ зеркашӣ кунед, онҳоро ба лоиҳа илова кунед... Ҳал Аслан, Maven барои автоматикунонии ин реҷа лозим аст. 0) Ман тавсия медиҳам, ки нусхаи эҳтиётии лоиҳаи JavaRush созед, вагарна шумо ҳеҷ гоҳ намедонед... 1) Аввалан, биёед Mavenро ба лоиҳаи худ илова кунем. Модули 4.JavaCollections-ро бо тугмаи рост клик кунед, Иловаи Дастгирии Framework -ро интихоб кунед... Maven, [OK] 2) Ҳоло мо файли pom.xml-ро пайдо мекунем, блокро дар он дастӣ илова мекунем.
<dependencies>
</dependencies>
Дарҳол пас аз </version> 3) Ва он гоҳ мо ба илова кардани бастаҳои лозима шурӯъ мекунем. Агар ба мо Ҷексон лозим бошад, мо дар Google "dependency Jackson Maven" -ро ҷустуҷӯ мекунем. : jackson- core, jackson-annotations, jackson-databind Вобастагии дигар вуҷуд дорад, аммо мо ҳоло ба онҳо ниёз надорем; мо онҳоро вақте ки ба мо лозим аст, илова мекунем. Ҳоло мо ин 3 вобастагиро дар ин сайт меҷӯем - https://mvnrepository.com/ Мо номҳои артефактҳои худро дар он ҷо ворид мекунем, онҳоеро, ки аксарият истифода мебаранд ё versionи охиринро пайдо мекунем. Ва матни вобастагиро ба 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) Ҳоло Ҷексон дар барномаҳои мост, номҳои сурхи an objectҳо аз байн рафтаанд. Аммо code тартиб доданро қатъ кард, он хато менависад:
Error:java: error: release version 5 not supported
Бо баъзе сабабҳо, ҳангоми ворид кардани Maven ба лоиҳа, versionи 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 versionи bytecodeро барои модули мо баробар ба JDK 8 муқаррар мекунад ва мо аз ин қаноатмандем. Ман банди 5-ро нест накардаам, ман онро барои маълумоти умумӣ гузоштам. Ҳамин тавр, фаҳмиши он вуҷуд дорад, ки кадом versionҳои JDK-ро дар IDEA дар куҷо тағир додан мумкин аст 6) Дар бораи пешфарзи лоиҳа. JavaRush дар JDK 8 кор мекунад. Ва агар шумо versionи 11 (ё навтар) дошта бошед, шумо мунтазам ба Валидатор савганд мехӯред, ки рамзи шуморо намегузаронад. Азбаски шумо codeеро, ки дар JDK 9+ ворид кардаед, менависед, ҳама чиз барои шумо кор хоҳад кард ва Санҷиш ба шумо хатогӣ медиҳад. Аз ин рӯ, равед: File\Project Structure\Project Мо versionи ҷории JDK-и шуморо нишон медиҳем ва дар зери он сатҳи забонро нишон медиҳем - ба таври қатъӣ 8 - Ламбдаҳо, эзоҳҳоро нависед ва ғайра. Чӣ фоида дорад - шумо имкониятҳои JDK 9+-ро хоҳед дид, аммо агар шумо кӯшиш кунед, ки онҳоро илова кунед, IDEA лаънат мекунад. Масалан, "aaa".lines(); - шумо метавонед нависед (IDEA онро иваз мекунад, гарчанде ки онро бо сурх нишон медиҳад), шумо метавонед ноком шавед - дарунро омӯзед. Аммо он ба шумо имкон намедиҳад, ки тартиб диҳед. 7) Охирин чизе, ки мо бояд анҷом диҳем, ислоҳ кардани роҳҳо дар дохor бастаи 4.JavaCollections аст. Maven онҳоро барои худ аз нав сохт, мо онҳоро ҳамчунон бармегардонем: a) Ба File\Project Structure\Modules гузаред б) 4.JavaCollections\Source-ро интихоб кунед c) Ҳадаф, росурсҳоро нест кунед, санҷед г) Папкаи манбаъро дар src ҷойгир кунед e) Ҷойгир кардани ҷузвдон com папкаи ба диск баргаштан ба src e) Папкаи асосӣ нест карда мешавад. Умуман, мо онро тавре мекунем, ки пеш аз Maven буд, бо шабеҳи 3.JavaMultithreading 8) Ҳоло мо вобастагии боқимондаро худамон илова мекунем, масалан барои JAXB. Агар ба шумо лозим аст, ки ба қайдгири илова кунед, мақолаи ман метавонад кӯмак кунад . Мо онро ба резюме илова мекунем - Maven. Шумо зебоед! Агар ин кӯмак кард - лайк монед, обуна шавед, занг занед!)))
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION