JavaRush /Java-Blog /Random-DE /Anbindung von Bibliotheken mit Maven
Дмитрий Яковенко
Level 35
Москва

Anbindung von Bibliotheken mit Maven

Veröffentlicht in der Gruppe Random-DE
Bibliotheken mit Maven verbinden - 1 Problem: JavaRush verwendet einige Pakete, die in JDK8 enthalten waren, und dann wurden sie entfernt. Zum Beispiel JavaFX für Spiele oder JAXB für die XML-Verarbeitung. Wenn Sie also eine neue Version von JDK verwenden, haben Sie ein Problem ... Aber selbst wenn Sie das JDK8 der alten Schule verwenden, haben Sie auch ein Problem ... In Quest 4 Collections müssen Sie Jackson verbinden um JSON zu verarbeiten. Natürlich kann man alles manuell verbinden, aber das ist ziemlich langweilig. Sie müssen sie manuell herunterladen und zum Projekt hinzufügen ... Lösung Tatsächlich wird Maven benötigt, um diese Routine zu automatisieren. 0) Ich empfehle dringend, eine Sicherungskopie des JavaRush-Projekts zu erstellen, sonst weiß man nie … 1) Zuerst fügen wir Maven zu unserem Projekt hinzu. Klicken Sie mit der rechten Maustaste auf das Modul 4.JavaCollections und wählen Sie Framework-Unterstützung hinzufügen... Maven, [Ok] 2) Jetzt finden wir die Datei pom.xml und fügen manuell einen Block hinzu
<dependencies>
</dependencies>
Direkt danach </version> 3) Und dann beginnen wir mit dem Hinzufügen der benötigten Pakete. Wenn wir Jeckson brauchen, googeln wir „jackson maven dependency“. Wir finden eine Antwort wie diese: http://tutorials.jenkov.com/java-json/jackson-installation.html Wir sehen, dass wir für Jeckson 3 Abhängigkeiten (artifactId) benötigen. : jackson-core, jackson-annotations, jackson-databind Es gibt noch andere Abhängigkeiten, aber wir brauchen sie noch nicht; wir werden sie hinzufügen, wenn wir sie brauchen. Jetzt suchen wir auf dieser Seite nach diesen 3 Abhängigkeiten – https://mvnrepository.com/. Wir geben dort die Namen unserer Artefakte ein, finden diejenigen, die von der Mehrheit verwendet werden, oder die neueste Version. Und kopieren Sie den Abhängigkeitstext in unsere pom.xml. 4) Insgesamt sah unsere pom.xml so aus:
<?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>
Wunderbar, klicken Sie mit der rechten Maustaste darauf und wählen Sie Maven/Reimport. 5) Jetzt ist Jeckson in unseren Programmen, die roten Namen der Objekte sind verschwunden. Aber der Code wurde nicht mehr kompiliert, er schreibt einen Fehler:
Error:java: error: release version 5 not supported
Aus irgendeinem Grund sinkt bei der Einführung von Maven in ein Projekt die Version des unterstützten Java auf 5 ... Wir müssen dies beheben: File\Settings\Build, Execution, Deployment\Compiler\Java Compiler Dort im Modul ist darauf hingewiesen Für unser Modul 4.JavaCollections müssen Sie in Java5 codieren... Wir löschen unser Modul in diesem Fenster. Aber das ist noch nicht alles, dann öffnen wir File\Project Structure\Modules. Dort wählen wir unser Modul 4.JavaCollections aus. Wählen Sie als Nächstes die Registerkarte „Sprachniveau – Projektstandard“ aus. 5.1) Ich habe herausgefunden, wie ich das Problem aus Punkt 5 lösen kann. Fügen Sie einfach Folgendes zu pom.xml hinzu:
<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>
Jetzt setzt Maven die Bytecode-Version für unser Modul auf JDK 8 und wir sind damit zufrieden. Den 5. Punkt habe ich nicht gelöscht, sondern zur allgemeinen Information belassen. Damit ein Verständnis dafür besteht, wo welche JDK-Versionen in IDEA geändert werden können. 6) Apropos Projektstandard. JavaRush läuft auf JDK 8. Und wenn Sie Version 11 (oder neuer) haben, dann werden Sie regelmäßig über den Validator schimpfen, der Ihren Code nicht weitergibt. Da Sie den Code schreiben, den Sie in JDK 9+ eingegeben haben, funktioniert alles für Sie und der Validator gibt Ihnen eine Fehlermeldung. Gehen Sie daher zu: Datei\Projektstruktur\Projekt. Wir geben Ihre aktuelle Version des JDK an und geben darunter die Sprachstufe an – streng genommen 8 – Lambdas, Typanmerkungen usw. Was ist der Vorteil? Sie werden die Fähigkeiten von JDK 9+ sehen, aber wenn Sie versuchen, sie hinzuzufügen, wird IDEA verfluchen. Beispiel: „aaa“.lines(); - Sie können schreiben (IDEA ersetzt es, obwohl es rot hervorgehoben wird), Sie können scheitern - studieren Sie die Innenseiten. Aber Sie können damit nicht kompilieren. 7) Als letztes müssen wir die Pfade innerhalb des 4.JavaCollections-Pakets korrigieren. Maven hat sie für sich selbst neu erstellt, wir geben sie so zurück, wie sie waren: a) Gehen Sie zu Datei\Projektstruktur\Module b) Wählen Sie 4.JavaCollections\Quelle c) Löschen Sie Ziel, Rosources, Test d) Platzieren Sie den Quellordner auf src e) Verschieben Sie die com-Ordner auf die Festplatte zurück zu src e) Der Hauptordner wird gelöscht. Im Allgemeinen machen wir es wie vor Maven, analog zu 3.JavaMultithreading 8) Nun fügen wir die restlichen Abhängigkeiten selbst hinzu, beispielsweise für JAXB. Wenn Sie die Protokollierung hinzufügen müssen, kann mein Artikel hilfreich sein . Wir fügen es dem Lebenslauf hinzu – Maven. Du bist wunderschön! Wenn es geholfen hat - liken, abonnieren, klingeln!)))
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION