JavaRush /Blogue Java /Random-PT /Conectando bibliotecas usando Maven
Дмитрий Яковенко
Nível 35
Москва

Conectando bibliotecas usando Maven

Publicado no grupo Random-PT
Conectando bibliotecas usando Maven - 1 Problema O JavaRush usa alguns pacotes que estavam no JDK8 e depois foram cortados. Por exemplo, JavaFX para jogos ou JAXB para processamento XML. Portanto, se você estiver usando uma versão nova do JDK, então você tem um problema... Mas mesmo se você estiver no JDK8 da velha escola, então você também tem um problema... Na missão 4 Coleções você precisará conectar Jackson para processar JSON. Claro, tudo pode ser conectado manualmente, mas é muito chato. Você tem que baixá-los manualmente, adicioná-los ao projeto... Solução Na verdade, o Maven é necessário para automatizar esta rotina. 0) Eu recomendo fortemente fazer uma cópia de backup do projeto JavaRush, caso contrário nunca se sabe... 1) Primeiro, vamos adicionar o Maven ao nosso projeto. Clique com o botão direito no módulo 4.JavaCollections, selecione Add Framework Support... Maven, [Ok] 2) Agora encontramos o arquivo pom.xml, adicione um bloco nele manualmente
<dependencies>
</dependencies>
Logo após </version> 3) E então começamos a adicionar os pacotes que precisamos. Se precisarmos de Jeckson, pesquisamos no Google “jackson maven dependency”. Encontramos uma resposta como esta: http://tutorials.jenkov.com/java-json/jackson-installation.html Vemos que para Jeckson precisamos de 3 dependências (artifactId) : jackson-core, jackson-annotations, jackson-databind Existem outras dependências, mas ainda não precisamos delas; iremos adicioná-las quando precisarmos delas. Agora procuramos essas 3 dependências neste site - https://mvnrepository.com/ Lá inserimos os nomes dos nossos artefatos, encontramos aqueles que são usados ​​pela maioria, ou a versão mais recente. E copie o texto da dependência para nosso pom.xml. 4) No total, nosso pom.xml ficou assim:
<?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>
Maravilhoso, clique com o botão direito nele e selecione Maven/Reimport. 5) Agora que Jeckson está em nossos programas, os nomes vermelhos dos objetos desapareceram. Mas o código parou de compilar, grava um erro:
Error:java: error: release version 5 not supported
Por alguma razão, ao introduzir o Maven em um projeto, a versão do Java suportada cai para 5... Precisamos corrigir isso: File\Settings\Build, Execution, Deployment\Compiler\Java Compiler Lá no módulo está indicado que para nosso módulo 4.JavaCollections - você precisa codificar em Java5... Excluímos nosso módulo nesta janela. Mas isso não é tudo, então abra File\Project Structure\Modules. Lá selecionamos nosso módulo 4.JavaCollections. Em seguida, selecione a guia Nível de idioma - Padrão do projeto. 5.1) Descobri como resolver o problema do ponto 5. Basta adicionar o seguinte ao 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>
Agora o Maven define a versão do bytecode do nosso módulo igual ao JDK 8 e estamos felizes com isso. Não apaguei o 5º ponto, deixei para informação geral. Para que haja um entendimento de onde quais versões do JDK podem ser alteradas na IDEA 6) Falando em padrão do Projeto. JavaRush é executado no JDK 8. E se você tiver a versão 11 (ou mais recente), você irá xingar regularmente o Validador, que não passa seu código. Como você escreverá o código inserido no JDK 9+, tudo funcionará para você e o Validador apresentará um erro. Portanto, vá: Arquivo\Estrutura do Projeto\Projeto Indicamos sua versão atual do JDK, e abaixo dela, indicamos o nível de linguagem - estritamente 8 - Lambdas, anotações de tipo etc. Qual é o benefício - você verá os recursos do JDK 9+, mas se tentar adicioná-los, o IDEA irá amaldiçoar. Por exemplo, "aaa".lines(); - você pode escrever (IDEA irá substituí-lo, embora o destaque em vermelho), você pode falhar - estude o interior. Mas não permitirá que você compile. 7) A última coisa que precisamos fazer é corrigir os caminhos dentro do pacote 4.JavaCollections. Maven os refez por si mesmo, nós os retornamos como estavam: a) Vá para File\Project Structure\Modules b) Selecione 4.JavaCollections\Source c) Exclua target, rosources, test d) Coloque a pasta de origem em src e) Mova o com para o disco de volta para src e) A pasta principal é excluída. Em geral, fazemos como era antes do Maven, por analogia com 3.JavaMultithreading 8) Agora nós mesmos adicionamos as dependências restantes, por exemplo, para JAXB. Se você precisar adicionar log, meu artigo pode ajudar . Adicionamos ao currículo - Maven. Você é maravilhosa! Se ajudou - curta, inscreva-se, sininho!)))
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION