JavaRush /Blog Java /Random-ES /Conexión de bibliotecas usando Maven
Дмитрий Яковенко
Nivel 35
Москва

Conexión de bibliotecas usando Maven

Publicado en el grupo Random-ES
Conexión de bibliotecas usando Maven - 1 Problema JavaRush usa algunos paquetes que estaban en JDK8 y luego fueron cortados. Por ejemplo, JavaFX para juegos o JAXB para procesamiento XML. Por lo tanto, si estás usando una versión nueva del JDK, entonces tienes un problema... Pero incluso si estás en el JDK8 de la vieja escuela, entonces también tienes un problema... En la misión 4 Colecciones necesitarás conectarte Jackson para procesar JSON. Por supuesto, todo se puede conectar manualmente, pero es bastante aburrido. Tienes que descargarlos manualmente, agregarlos al proyecto... Solución En realidad, se necesita Maven para automatizar esta rutina. 0) Recomiendo encarecidamente hacer una copia de seguridad del proyecto JavaRush; de lo contrario, nunca se sabe... 1) Primero, agreguemos Maven a nuestro proyecto. Haga clic derecho en el módulo 4.JavaCollections, seleccione Agregar soporte de marco... Maven, [Ok] 2) Ahora encontramos el archivo pom.xml, agregue un bloque manualmente
<dependencies>
</dependencies>
Justo después de </version> 3) Y luego comenzamos a agregar los paquetes que necesitamos. Si necesitamos Jeckson, buscamos en Google "dependencia jackson maven". Encontramos una respuesta como esta: http://tutorials.jenkov.com/java-json/jackson-installation.html Vemos que para Jeckson necesitamos 3 dependencias (artifactId) : jackson-core, jackson-annotations, jackson-databind Hay otras dependencias, pero no las necesitamos todavía; las agregaremos cuando las necesitemos. Ahora buscamos estas 3 dependencias en este sitio: https://mvnrepository.com/ Ingresamos los nombres de nuestros artefactos allí, buscamos aquellos que son utilizados por la mayoría o la última versión. Y copie el texto de dependencia a nuestro pom.xml. 4) En total, nuestro pom.xml quedó así:
<?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>
Maravilloso, haga clic derecho sobre él y seleccione Maven/Reimportar. 5) Ahora Jeckson está en nuestros programas, los nombres rojos de los objetos han desaparecido. Pero el código dejó de compilarse y escribe un error:
Error:java: error: release version 5 not supported
Por alguna razón, al introducir Maven en un proyecto, la versión de Java compatible cae a 5... Necesitamos arreglar esto: Archivo\Configuración\Build, Execution, Deployment\Compiler\Java Compiler Allí en el módulo se indica que para nuestro módulo 4.JavaCollections: necesita codificar en Java5... Eliminamos nuestro módulo en esta ventana. Pero eso no es todo, luego abrimos Archivo\Proyecto Estructura\Módulos Allí seleccionamos nuestro módulo 4.JavaCollections. A continuación, seleccione la pestaña Nivel de idioma: predeterminado del proyecto. 5.1) Encontré cómo resolver el problema desde el punto 5. Simplemente agregue lo siguiente a 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>
Ahora Maven establece la versión del código de bytes para nuestro módulo en JDK 8 y estamos contentos con esto. No eliminé el punto 5, lo dejé para información general. Para que se entienda dónde se pueden cambiar las versiones de JDK en IDEA 6) Hablando del valor predeterminado del proyecto. JavaRush se ejecuta en JDK 8. Y si tiene la versión 11 (o más reciente), regularmente insultará al Validador, que no pasa su código. Debido a que escribirá el código que ingresó en JDK 9+, todo funcionará para usted y el Validador le dará un error. Por lo tanto, vaya: Archivo\Estructura del proyecto\Proyecto Indicamos su versión actual del JDK, y debajo de ella, indicamos el nivel de idioma - estrictamente 8 - Lambdas, anotaciones de tipo, etc. ¿Cuál es el beneficio? Verá las capacidades de JDK 9+, pero si intenta agregarlas, IDEA maldecirá. Por ejemplo, "aaa".lines(); - puedes escribir (IDEA lo sustituirá, aunque lo resaltará en rojo), puedes fallar - estudia el interior. Pero no te permitirá compilar. 7) Lo último que debemos hacer es corregir las rutas dentro del paquete 4.JavaCollections. Maven los rehizo por sí mismo, los devolvemos como estaban: a) Vaya a Archivo\Estructura del proyecto\Módulos b) Seleccione 4.JavaCollections\Source c) Elimine target, rosources, test d) Coloque la carpeta de origen en src e) Mueva el com al disco y volver a src e) Se elimina la carpeta principal. En general, lo hacemos como estaba antes de Maven, por analogía con 3.JavaMultithreading 8) Ahora agregamos las dependencias restantes nosotros mismos, por ejemplo para JAXB. Si necesita agregar registros, mi artículo puede ayudarlo . Lo agregamos al currículum: Maven. ¡Eres guapisima! Si te ayudó, ¡me gusta, suscríbete, campana!)))
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION