English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Schnelle Einführung in Maven

Vielleicht bin ich nicht begabt, als ich Maven zum ersten Mal sah, war ich von allen möglichen unklaren Anleitungen verdutzt, und im Laufe der Nutzung fand ich heraus, dass die meisten Funktionen von Maven nicht so schwierig sind, wie ich es mir vorgestellt habe.

Dieser Artikel richtet sich an Anfänger von Maven und hofft, ihnen so schnell wie möglich Maven zu vermitteln und die Vorteile, die es mitbringt, zu genießen.

[Eine einfache Frage]

Bevor ich erkläre, stelle ich eine einfache Frage.

Angenommen, du entwickelst zwei Java-Projekte unter Eclipse, nennen wir sie A und B, wobei einige Funktionen von Projekt A von bestimmten Klassen in Projekt B abhängen, so wie hältst du diese Abhängigkeitsbeziehung aufrecht?

So habe ich vor der Verwendung von Maven gemacht, das Projekt B als Jar zu packen und die Jar-Datei von B unter der Bibliothek von Projekt A zu importieren.

Dies hat offensichtliche Nachteile:

1.Falls während der Entwicklung ein Bug in B entdeckt wird, muss B neu gepackt und das Projekt A neu kompiliert werden

2.Bei der Zusammenarbeit an Projekt A, um sicherzustellen, dass es ordnungsgemäß läuft, muss entweder B in A integriert werden oder B wie gewohnt veröffentlicht und den Entwicklern die Verwendungsmethode mitgeteilt werden. Beide Methoden sind nicht sehr gut, der erste könnte Ressourcenverschwendung verursachen (z.B. könnten Entwickler andere Projekte entwickeln, die von B abhängen, und B ist bereits lokal gespeichert), und der zweite könnte Risiken für den ordnungsgemäßen Betrieb des Projekts mit sich bringen (sobald die Arbeit den Menschen überlassen wird, bedeutet das immer eine bestimmte Fehlerquote).

Daher ist eine solche manuelle Kontrolle der Abhängigkeitsbeziehungen zwischen Projekten offensichtlich eine 'unzulängliche' Methode.

[Maven-Präsentation]

Nach meiner Meinung ist die Kernfunktion von Maven die vernünftige Beschreibung der Abhängigkeitsbeziehungen zwischen Projekten.

Alle Maven-Projekte enthalten eine Datei namens pom.xml, in der ihre <groupId><artifactId><version> und andere Felder aufgeführt sind, die bei der Erstellung des Maven-Projekts ausgefüllt werden und auf die Maven zurückgreift, um das Projekt zu lokalisieren.

Ein weiterer wichtiger Tag in pom ist <dependencies>, unter dem mehrere <dependency>-Tags enthalten sein können, und unter <dependency> sind die oben erwähnten <groupId><artifactId><version> und andere Abhängigkeitsfelder, die eine eindeutige Projektversion bestimmen.

Ein typisches pom.xml [aus dem Projekt luajava]:

<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>org.keplerproject</groupId> 
  <artifactId>luajava</artifactId> 
  <version>1.1</version> 
  <packaging>jar</packaging> 
  <name>luajava</name> 
  <url>http://maven.apache.org</url> 
  <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
  </properties> 
  <build> 
    <plugins> 
      <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>2.0.2</version> 
        <configuration> 
          <source>1.7</source> 
          <target>1.7</target> 
        </configuration> 
      </plugin> 
    </plugins> 
  </build> 
  <dependencies> 
    <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
    </dependency> 
  </dependencies> 
</project> 

[Maven-Bibliothek]

Nehmen wir die Projekte A und B, die vorhin erwähnt wurden, als Beispiel. Wenn Sie im pom-Datei des Projekts A <dependency> schreiben, um Projekt B zu verknüpfen, findet Maven Projekt B im Arbeitsbereich und erstellt eine Abhängigkeit. In diesem Fall kann Projekt A direkt auf die Klassendateien von Projekt B zugreifen und auch während der Debugging von Projekt A die in Projekt B gesetzten Breakpoints treffen.

Abgesehen von der Abhängigkeitsverbindung im Arbeitsbereich kann Maven auch Projekte aus einem Remote-Repository verknüpfen. In der Regel verbindet Maven, wenn es im Arbeitsbereich keine entsprechenden Projektregistrierungen gibt, mit dem Zentraldepot, lädt es das Projekt auf den lokalen Speicher herunter (im Windows-System befindet sich der lokale Speicher im Benutzerdokument im .m2Dies ist eine sehr praktische Eigenschaft, bei der wir nicht mehr manuell herunterladen und einfügen müssen, wenn wir zusätzliche Jar-Pakete benötigen. Wir müssen nur das Abhängigkeitsfeld des erforderlichen Projekts an die passende Stelle im pom kopieren und den Rest von Maven erledigen lassen.

[Ein Beispiel]

Wie können wir also die erforderlichen Felder wie groupId des Projekts kennen?

Im Allgemeinen gibt es, wenn ein offizielles Projekt Maven unterstützt, auf seiner Seite in der Regel einen Abhängigkeitsfeld, das kopiert werden kann, aber es gibt tatsächlich Fälle, in denen Maven unterstützt wird, aber kein Abhängigkeitsfeld bereitgestellt wird. Und bei einigen Projekten wird die Maven-Funktion von Dritten unterhalten, in diesem Fall ist es schwierig, über offizielle Kanäle die Unterstützung für Maven zu erhalten.

Daher ist die beste Methode zur Suche nach Abhängigkeitsfeldern die Verwendung der Maven-Suchdienstes.

Hier empfehle ich eine Adresse: mvnrepository.com

Nächste Beispiel, wie man mit Eclipse den MySql JDBC Treiber verknüpft,在此之前, bitte->Über Eclipse bestätigen Sie, dass es Maven unterstützt:

In der neuen Version des Eclipse ist bereits Maven integriert, wenn die Version älter ist, können Sie das Maven-Plugin installieren.

Lassen Sie uns zunächst ein Maven-Projekt erstellen, New->Project->MavenProject->Erstellen Sie ein einfaches Projekt (Spring archetype selection überspringen).

Dies ist ein wichtiger Schritt, füllen Sie die Abhängigkeitsfelder wie groupId dieses Projekts aus, die hier ausgefüllten Felder werden verwendet, wenn andere Projekte auf sie verweisen, alle nicht ausgefüllten Teile sind optionale Inhalte:

Danach suchen wir auf mvnrepository.com nach "MySql JDBC"

Bald fanden wir das Ergebnis, klicken Sie hier, um detaillierte Versionsinformationen anzuzeigen:

Hier sind mehrere Versionen und Verwendungen von MySql JDBC aufgelistet, hier wählen wir die zweite neueste Version5.1.34:

Kopieren Sie den Inhalt des Maven-Fensters und fügen Sie ihn unter <dependencies> im pom hinzu:

<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>com.test</groupId> 
  <artifactId>maventest</artifactId> 
  <version>0.0.1-SNAPSHOT</version> 
  <dependencies> 
    <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>5.1.34</version> 
    </dependency> 
  </dependencies> 
</project> 

Nach dem Ende des Progress-Balkens können Sie sehen, dass im Projekt Maven Dependencies hinzugefügt wurden, in denen Sie das kürzlich eingefügte jdbc-Driver-Paket finden können:

[Andere Funktionen]

1.Image-Repository

Es ist offensichtlich, dass die Last des Maven-Zentrallagers groß ist und es sich nicht in China befindet, daher ist die Geschwindigkeit sehr langsam und manchmal kann man die Abhängigkeiten nicht finden. Daher wird die Einrichtung eines Maven-Private-Repositories insbesondere in der Entwicklung durch kleine Teams erheblich die Effizienz steigern. Hier wird ein Tool zur Einrichtung eines Maven-Images empfohlen: Nexus: http://www.sonatype.org/nexus/

Mit diesem Tool können Sie sehr schnell und einfach ein privates Maven-Image-Repository einrichten. Nachdem Sie dies getan haben, können Sie in der Maven settings.xml konfigurieren.

2.Lässige Herunterladung der src-Quellcode

Manchmal müssen wir die Quelldateien abhängiger Projekte konsultieren. In diesem Fall können Sie versuchen, die class-Datei direkt zu doppelklicken. Wenn die Quelldateien im Maven-Image-Repository vorhanden sind, werden sie automatisch auf den lokalen Computer heruntergeladen und Eclipse lädt sie automatisch und zeigt sie an.

3.Kompilierungsparameterkonfiguration

Der Autor verwendet die EclipseLuna-Version, die Standard-Java-Kompilierversion von Maven ist1.5,können wir die Compiler-Version in pom spezifizieren, um sie zu erhöhen1.7(Bezugnahme auf den build-Tag in luajavapom); Darüber hinaus werden diese Einstellungen auch von automatisierten Tools wie Jenkins Continuous Integration gelesen und entsprechend konfiguriert.

Zusammenfassung

Das ist alles, was es über die schnelle Einführung in Maven gibt. Hoffentlich hilft es Ihnen weiter. Freunde, die daran interessiert sind, können weiterhin andere verwandte Themen dieser Website lesen. Wir freuen uns über Kommentare zu Unzulänglichkeiten und danken Ihnen für Ihre Unterstützung dieser Website!

Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet übernommen und gehört dem Urheberrecht des jeweiligen Autors. Der Inhalt wurde von Internetnutzern freiwillig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht manuell bearbeitet. Sie übernimmt auch keine rechtlichen Verantwortlichkeiten. Wenn Sie verdächtige Urheberrechtsinhalte entdecken, sind Sie herzlich eingeladen, eine E-Mail an notice#w zu senden.3codebox.com (Bitte ersetzen Sie # durch @ beim Senden einer E-Mail zur Meldung von Verstößen und fügen Sie relevante Beweise bei. Sobald nachgewiesen, wird diese Website die beanstandeten Inhalte sofort löschen.)

Empfohlen für Sie