JavaRush /Blog Java /Random-FR /Connecter des bibliothèques à l'aide de Maven
Дмитрий Яковенко
Niveau 35
Москва

Connecter des bibliothèques à l'aide de Maven

Publié dans le groupe Random-FR
Connecter des bibliothèques à l'aide de Maven - 1 Problème JavaRush utilise certains packages qui étaient dans JDK8, puis ils ont été supprimés. Par exemple, JavaFX pour les jeux ou JAXB pour le traitement XML. Par conséquent, si vous utilisez une nouvelle version du JDK, alors vous avez un problème... Mais même si vous utilisez l'ancienne école JDK8, alors vous avez aussi un problème... Dans la quête 4 Collections, vous devrez vous connecter Jackson pour traiter JSON. Bien sûr, tout peut être connecté manuellement, mais c’est assez ennuyeux. Il faut les télécharger manuellement, les ajouter au projet... Solution En fait, Maven est nécessaire pour automatiser cette routine. 0) Je recommande fortement de faire une copie de sauvegarde du projet JavaRush, sinon on ne sait jamais... 1) Tout d'abord, ajoutons Maven à notre projet. Faites un clic droit sur le module 4.JavaCollections, sélectionnez Ajouter un support de framework... Maven, [Ok] 2) Maintenant, nous trouvons le fichier pom.xml, ajoutons-y un bloc manuellement
<dependencies>
</dependencies>
Juste après </version> 3) Et puis nous commençons à ajouter les packages dont nous avons besoin. Si nous avons besoin de Jeckson, nous recherchons sur Google « jackson maven dependency » Nous trouvons une réponse comme celle-ci : http://tutorials.jenkov.com/java-json/jackson-installation.html Nous voyons que pour Jeckson nous avons besoin de 3 dépendances (artifactId) : jackson-core, jackson-annotations, jackson-databind Il existe d'autres dépendances, mais nous n'en avons pas encore besoin ; nous les ajouterons quand nous en aurons besoin. Nous recherchons maintenant ces 3 dépendances sur ce site - https://mvnrepository.com/ Nous y entrons les noms de nos artefacts, trouvons ceux qui sont utilisés majoritairement, ou la dernière version. Et copiez le texte de la dépendance dans notre pom.xml. 4) Au total, notre pom.xml est devenu comme ceci :
<?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>
Merveilleux, faites un clic droit dessus et sélectionnez Maven/Réimporter. 5) Maintenant que Jeckson est dans nos programmes, les noms rouges des objets ont disparu. Mais le code a arrêté de se compiler, il écrit une erreur :
Error:java: error: release version 5 not supported
Pour une raison quelconque, lors de l'introduction de Maven dans un projet, la version de Java prise en charge tombe à 5... Nous devons résoudre ce problème : Fichier\Paramètres\Build, Exécution, Déploiement\Compilateur\Java Compiler. Dans le module, il est indiqué que pour notre module 4.JavaCollections - vous devez coder en Java5... Nous supprimons notre module dans cette fenêtre. Mais ce n'est pas tout, alors ouvrez File\Project Structure\Modules Là, nous sélectionnons notre module 4.JavaCollections. Ensuite, sélectionnez l'onglet Niveau de langue - Projet par défaut. 5.1) J'ai trouvé comment résoudre le problème à partir du point 5. Ajoutez simplement ce qui suit à 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>
Maintenant, Maven définit la version du bytecode de notre module égale à JDK 8 et nous en sommes satisfaits. Je n'ai pas supprimé le 5ème point, je l'ai laissé à titre d'information générale. Pour que l'on comprenne où les versions du JDK peuvent être modifiées dans IDEA 6) En parlant de la valeur par défaut du projet. JavaRush fonctionne sur JDK 8. Et si vous possédez la version 11 (ou plus récente), alors vous jurerez régulièrement contre le Validator, qui ne transmet pas votre code. Parce que vous écrirez le code que vous avez entré dans JDK 9+, tout fonctionnera pour vous et le validateur vous donnera une erreur. Allez donc : Fichier\Projet Structure\Projet Nous indiquons votre version actuelle du JDK, et en dessous, indiquons le niveau de langage - strictement 8 - Lambdas, tapez des annotations etc. Quel est l'avantage - vous verrez les capacités du JDK 9+, mais si vous essayez de les ajouter, IDEA vous maudira. Par exemple, "aaa".lines(); - vous pouvez écrire (IDEA le remplacera, même s'il le surlignera en rouge), vous pouvez échouer - étudiez l'intérieur. Mais cela ne vous permettra pas de compiler. 7) La dernière chose que nous devons faire est de corriger les chemins à l’intérieur du package 4.JavaCollections. Maven les a refaits pour lui-même, nous les renvoyons tels qu'ils étaient : a) Allez dans Fichier\Project Structure\Modules b) Sélectionnez 4.JavaCollections\Source c) Supprimez la cible, rosources, test d) Placez le dossier source sur src e) Déplacez le com sur le disque vers src e) Le dossier principal est supprimé. En général, nous procédons comme avant Maven, par analogie avec 3.JavaMultithreading 8) Maintenant, nous ajoutons nous-mêmes les dépendances restantes, par exemple pour JAXB. Si vous devez ajouter la journalisation, mon article peut vous aider . Nous l'ajoutons au CV - Maven. Tu es magnifique! Si cela vous a aidé, aimez, abonnez-vous, sonnez !)))
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION