[JAVA] Stellen Sie Maven das Tomcat-Projekt vor

Einführung

Wir haben in unserem Projekt noch nie Build-Tools verwendet, daher haben wir Maven für die Implementierung zusammengefasst. Dieser Artikel soll Ihnen die Informationen geben, die Sie benötigen, um sich selbst zu verstehen und für Ihre Projektmitglieder bereitzustellen. Da Maven3 verwendet wird, basiert die Beschreibung auch darauf.

Was ist Maven?

Maven ist ein Projektmanagement-Tool, das die Ausführung von Java-Programmerstellungen steuern (JAR-Bibliotheken verwalten, kompilieren, testen, WARs und JARs generieren) und Ergebnisberichte erstellen kann. Sie können das Plugin auch erweitern, um Ihren Builds und Berichten Funktionen hinzuzufügen. Maven kann detaillierte Anweisungen steuern, indem er den Prozess beschreibt, den Sie in pom.xml (Projektobjektmodell) ausführen möchten. Sie können beispielsweise eine WAR generieren, indem Sie die Version der zu verwendenden JAR-Bibliothek angeben oder umgebungsabhängige Einstellungen wie das DB-Verbindungsziel angeben.

pom.xml Ich werde nur die Gliederung zusammenfassen. Weitere Informationen finden Sie unter Maven-POM-Referenz. groupId / artefaktId / version ist ein erforderlicher Einstellungswert.

Element Erläuterung
groupId Eine eindeutige ID für Ihre Organisation oder Ihr Projekt. In einigen Fällen wird es gemäß der Paketstruktur des Projekts definiert.
artifactId Name, der das Projekt identifiziert
version Projektversion
packaging Der Status der Projektartefakte. Sie können Krieg, Glas usw. angeben.
dependencies Bibliothek, auf die das Projekt verweist
parent Gibt das übergeordnete POM an, auf das verwiesen werden soll.
dependencyManagement Definiert die Vorlage der abhängigen Bibliothek.
modules Definiert die vom Multiprojekt verwalteten Module.
properties Der in diesem Tag deklarierte Wert ist in pom${X}Sie können darauf unter verweisen. Es wird verwendet, wenn Sie einen Wert definieren möchten, auf den in einem Projekt wie JDK-Version oder Encording allgemein verwiesen wird.
build Definiert das Plugin, das beim Erstellen ausgeführt werden soll.
reporting Definiert das Plugin, das zum Zeitpunkt der Site ausgeführt werden soll.
repositories Definiert ein Repository, das nicht remote durchsucht werden soll.
pluginRepositories Definieren Sie ein reines Plugin-Repository, das Sie außerhalb von Remote durchsuchen möchten.
profiles Definiert die Einstellungsinformationen für jede Maven-Ausführungsumgebung. Sie können beispielsweise die Umgebung zwischen Produktion, Staging und Entwicklung wechseln.

Versionierung

Im Allgemeinen folgt die Versionsverwaltung des durch das Versions-Tag angegebenen Projekts Semantic Versioning. Das heißt, es wird durch "X.Y.Z (Major Minor Patch) -Identifier (Alpha / Beta / m / RC / SNAPSHOT usw.)" dargestellt. Beim Erstellen eines neuen Maven-Projekts in Eclipse oder IntelliJ IDEA lautet die Standardversion 0.0.1-SNAPSHOT.

Abhängigkeitsauflösung

Die Abhängigkeitsauflösung ist eine wichtige Funktion in Maven und verwaltet die Bibliotheken (externe Jars), von denen Ihr Projekt abhängt. Durch die Beschreibung der Abhängigkeit [Abhängigkeit] in pom.xml wird die erforderliche Bibliothek automatisch aus dem Maven-Repository heruntergeladen. Mit dieser Funktion müssen Sie die erforderlichen Bibliotheken nicht mehr selbst von der Site herunterladen und zum Erstellungspfad hinzufügen oder ein Versionskontrollsystem festlegen. Sie können auch Umgebungseinstellungskonflikte beseitigen, die je nach Entwicklungsumgebung durch unterschiedliche Klassenpfade verursacht werden.

Maven-Repository

Im Maven-Repository werden die Bibliotheken verwaltet. Maven lädt die erforderlichen Bibliotheken aus dem Repository herunter, wenn Sie den Build ausführen. Projektartefakte können auch zur Verwendung durch andere Projekte in das Repository hochgeladen werden.

Zentrales Repository

Mavens offizielles Repository im Internet veröffentlicht. Versionen verschiedener Bibliotheken sind hier verfügbar, und Sie können die erforderlichen Bibliotheken lokal herunterladen. Zentrales Repository

Remote-Repository

Verwalten Sie die Bibliothek wie ein zentrales Repository. Sie können auch Ihr eigenes Remote-Repository mit Sonatype NEXUS erstellen. Die folgenden Repositorys sind beispielsweise Remote-Repositorys.

Lokales Repository

Ein in der Entwicklungsumgebung erstelltes Repository. Wenn Maven nach einer Bibliothek sucht, durchsucht er zuerst das lokale Repository. Wenn nicht, sucht er nach dem zentralen Repository oder Remote-Repository und lädt es herunter. Das lokale Repository befindet sich in ~ / .m2 / repository.

Scope Wenn Sie den Bereich angeben, können Sie den Status der Definition der Bibliothek im Klassenpfad angeben. Wenn nicht angegeben, wird es "kompilieren".

Scope Erläuterung
compile In allen Situationen im Klassenpfad definiert.
provided Entspricht dem Kompilieren, ist jedoch nicht im Artefakt enthalten. Geben Sie dies an, wenn die Bibliothek hauptsächlich auf der Umgebungsseite vorbereitet wird, auf der die Artefakte wie JDK und Servlet-API bereitgestellt werden.
runtime Es ist in dem Artefakt in der Bibliothek enthalten, das für die Ausführung des Artefakts erforderlich ist.
test Test Eine Bibliothek, die kompiliert und ausgeführt werden muss, wenn der Code ausgeführt wird. JUnit und Mockito sind anwendbar. Es ist nicht in den Liefergegenständen enthalten.
system Entspricht der bereitgestellten, aber die Bibliothek ist kein RepositorysystemPathBezieht sich auf den in angegebenen Pfad.

Führen Sie Maven aus

Tor

Der von Maven ausgeführte Prozess wird für jede Funktion als "Ziel" bezeichnet. Das "Ziel" wird vom Plugin bereitgestellt und läuft unter "MVN-Plugin-Name: Zielname". Ein Plug-In hat mehrere Ziele.

Phase

Bei Maven wird das, was Sie tun möchten, als "Phase" bezeichnet. Mehrere "Ziele" sind mit einer Phase verknüpft. Wenn Sie die Phase ausführen, die Sie mit dem Namen "mvn phase" ausführen möchten, werden die mit der "Phase" verknüpften "Ziele" der Reihe nach ausgeführt. Die Reihenfolge, in der die Phasen ausgeführt werden, wird durch den später beschriebenen Lebenszyklus bestimmt.

Lebenszyklus aufbauen

Maven-Builds führen eine festgelegte Anzahl von "Phasen" nacheinander entsprechend ihrem Lebenszyklus aus. Es sind drei Lebenszyklen definiert

Standardzyklus

Es ist buchstäblich ein Standardlebenszyklus. Da es insgesamt 23 Phasen gibt, werden hier nur die Hauptphasen erläutert. (Die nicht beschriebene Phase ist die Vorverarbeitung der nächsten Phase und die Nachbearbeitung der vorherigen Phase.) "Artefakt" bezieht sich auf Krieg, Glas usw.

No. Phase Überblick
1 validate Überprüfen Sie die Legitimität des Projekts
7 compile Projekt kompilieren
15 test Unit-Test ausführen
17 package Erstellung von Liefergegenständen (Verpackung)
21 verify Überprüfung der Ergebnisse
22 install Platzieren Sie Artefakte im lokalen Repository
23 deploy Platzieren Sie Artefakte im Remote-Repository

Wenn Sie beispielsweise "mvn package" ausführen, werden 17 Phasen von der Validierung bis zum Paket ausgeführt und Artefakte generiert. Wenn Sie bis zu "mvn deploy" ausführen, werden alle 23 Phasen von der Validierung bis zur Bereitstellung ausgeführt.

Reinigungszyklus

Der Bereinigungszyklus ist ein Lebenszyklus zum Löschen temporärer Dateien, die von einem Build generiert wurden. Temporäre Dateien sind lokal generierte Klassen- und Ressourcendateien wie Kompilieren und Testen. (In einem normalen Maven-Projekt wird die Datei in das Zielverzeichnis ausgegeben.)

Es ist eine gute Idee, immer sauber auszuführen, bevor der Build im Standardzyklus ausgeführt wird, da die temporären Dateien, die beim Wiederherstellen übrig bleiben, möglicherweise wiederverwendet werden. Beispiel mvn clean package

No. Phase Überblick
1 pre-clean Vorverarbeitung zum temporären Löschen von Dateien
2 clean Temporäre Dateien löschen
3 post-clean Nachbearbeitung des temporären Löschens von Dateien

Standortzyklus

Der Site-Lebenszyklus generiert eine Dokumentation für das Projekt. Generieren Sie beispielsweise mithilfe des später beschriebenen Plug-Ins Javadoc, statische Analyseergebnisberichte wie Checkstyles und FindBugs, Testergebnisse und Abdeckungsberichte.

Wenn Sie die Site gleichzeitig mit dem Erstellen angeben und ausführen, wird das Dokument des Erstellungsergebnisses generiert. Beispiel 'mvn install site'

No. Phase Überblick
1 pre-site Vorverarbeitung der Dokumentenerstellung
2 site Dokument löschen
3 post-site Nachbearbeitung der Dokumentenerstellung
3 site-deploy Platzieren Sie das Dokument auf dem angegebenen Webserver

Plugin

Plugins sind in Java geschriebene Maven-Funktionen. Das Plug-In bietet auch Ziele, die mit den Phasen des Lebenszyklus verknüpft sind. Darüber hinaus werden verschiedene Plug-Ins veröffentlicht, und Sie können auch Ihr eigenes Plug-In erstellen. Bitte überprüfen Sie die HP jedes Plug-Ins, da die Verwendung für jedes Plug-In unterschiedlich ist.

Bauen

Es definiert hauptsächlich das Plug-In, das Sie im Standardlebenszyklus ausführen möchten.

Bericht

site Definiert ein Plug-In zur Ausgabe eines Laufzeitberichts. Sie können beispielsweise die statischen Analyseergebnisse wie checkstyle überprüfen und Fehler finden sowie das Javadoc des Projektcodes durchsuchen.

Multimodul-Projekt

In Maven kann ein Projekt verwaltet werden, indem es für jede Rolle und jeden Dienst in "Module" unterteilt wird. Zum Beispiel Kernmodul, Plugin-Modul, gemeinsamer Funktionsbaustein usw. Für eine solche Projektkonfiguration können Sie die Modulkonfiguration und die allgemeinen Einstellungen in pom.xml des übergeordneten Moduls definieren, das das gesamte Projekt verwaltet, und es in pom.xml jedes Moduls erben.

Beispiel für eine Projektkonfiguration mit mehreren Modulen

Legen Sie in pom.xml im übergeordneten Modul des Multi-Modul-Projekts Folgendes fest.

Geben Sie im untergeordneten Modul die Gruppen-ID / Artefakt-ID / Version des übergeordneten Moduls im übergeordneten Tag an und erben Sie sie.

Einführungsbeispiel zum Entwicklungsprojekt

Nehmen Sie als Beispiel den Prozess der Migration eines in der Entwicklung befindlichen Projekts durch eine Gruppe in ein Maven-Projekt.

In Eclipse können Sie ein vorhandenes Projekt in ein Maven-Projekt konvertieren, indem Sie "Rechtsklick auf das Projekt> Konfiguration> In Maven-Projekt konvertieren" auswählen. Da dies jedoch das erste erstellte Maven-Projekt ist, habe ich beschlossen, das Modul in das von Grund auf neu erstellte Projekt zu kopieren.

Annahme

Installieren Sie Maven

Weitere Informationen finden Sie unter Installieren von Maven. Entpacken Sie die komprimierte Datei und legen Sie den Ordner bin in der Umgebungsvariablen PATH ab. Öffnen Sie eine Eingabeaufforderung und führen Sie mvn --version aus, um die Versionsinformationen anzuzeigen.

Erstellen Sie als Nächstes einen Arbeitsordner .m2 für Maven. Arbeitsordner werden normalerweise im Benutzerverzeichnis "~ / .m2" erstellt. Erstellen Sie außerdem die folgenden Verzeichnisse und Dateien im Arbeitsordner. ~ / .m2 / repository Dies ist das Verzeichnis, das das lokale Repository sein wird. ~ / .m2 / settings.xml Dies ist eine Benutzereinstellungsdatei.

Proxy-Einstellungen

Wenn Sie über einen Proxy auf das Internet zugreifen, müssen Sie einen Proxy festlegen. Beschreiben Sie wie folgt in ~ / .m2 / settings.xml.

setting.xml


<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                          http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <proxies>
    <proxy>
      <id>http_proxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <username></username>
      <password></password>
      <host></host>
      <port></port>
    </proxy>
    <proxy>
      <id>https_proxy</id>
      <active>true</active>
      <protocol>https</protocol>
      <username></username>
      <password></password>
      <host>Authentifizierungskennwort Proxyserver-IP-Adresse Proxyserver-Portnummer Authentifizierungskonto-Authentifizierungskennwort Proxyserver-IP-Adresse</host>
      <port>Proxy-Server-Portnummer</port>
    </proxy>
  </proxies>
</settings>

Eclipse-Einstellungen

  1. Wählen Sie Fenster> Einstellungen> Maven> Benutzereinstellungen.
  2. Geben Sie in der Benutzereinstellung ~ / .m2 / settings.xml an.
  3. Geben Sie für lokales Repository "~ / .m2 / repository" an.

Erstellen eines Maven-Projekts

Dieses Mal werden wir ein vorhandenes Tomcat-Projekt in ein Maven-Projekt konvertieren. Es wird in der folgenden Konfiguration mit mehreren Modulen verwaltet.

project ├─ main module ├─ sub module1 ├─ sub module2 └─ sub module3

Erstellen eines übergeordneten POM

Erstellen Sie einen übergeordneten POM, aus dem das Multi-Modul besteht.

  1. Wählen Sie Datei> Neu> Maven-Projekt.
  2. Aktivieren Sie im New Maven-Projekt die Option "Einfaches Projekt erstellen (Auswahl des Archetyps überspringen)" und klicken Sie auf "Weiter".
  3. Geben Sie unter Projektartefakt konfigurieren Folgendes ein und drücken Sie dann Fertig stellen.

groupId ・ ・ ・ ・ Eindeutige ID für das Projekt (jp.co.company name.product name / com.product name etc.) Artefakt-ID ・ ・ ・ Name der Projektidentifikation version ・ ・ ・ Version (Zunächst einmal ist der Standard 0.0.1-SNAPSHOT in Ordnung.) Paket ・ ・ ・ ** pom **

Nach der Erstellung haben Sie einen src-Ordner und eine pom.xml. Diesmal ist src nicht erforderlich, löschen Sie es also.

Angabe der Jave-Version, die von Maven zum Kompilieren verwendet wird

Java5 (1.5) ist standardmäßig angegeben. Öffnen Sie daher die Eigenschaft in pom.xml und geben Sie die Version an. Wenn Sie es als übergeordnetes POM angeben, wird es auch im Untermodul angezeigt. Wenn Sie die Version des Untermoduls ändern möchten, geben Sie die Eigenschaft auch in der pom.xml dieses Moduls an.

pom.xml[JDK version]


<properties>
  <java-version>1.8</java-version>
  <maven.compiler.source>${java-version}</maven.compiler.source>
  <maven.compiler.target>${java-version}</maven.compiler.target>
</properties>

Erstellen eines Untermoduls

Erstellen Sie ein Untermodul unter dem übergeordneten Projekt. Das diesmal erstellte Submodul ist die JAR-Bibliothek, auf die in dem später beschriebenen Webmodul verwiesen wird.

  1. Klicken Sie mit der rechten Maustaste auf das übergeordnete Projekt> Maven> Neues Maven-Modulprojekt.
  2. Deaktivieren Sie im New Maven-Projekt das Kontrollkästchen "Einfaches Projekt erstellen (Auswahl des Archetyps überspringen)".
  3. Geben Sie den Namen des Moduls in Modulname ein, bestätigen Sie, dass das übergeordnete Projekt in Übergeordnetes Projekt angegeben ist, und klicken Sie auf Weiter.
  4. Wählen Sie unter Archetyp auswählen die Option Artefakt-ID: maven-archetype-quickstart aus und klicken Sie auf Weiter.
  5. Bestätigen Sie und geben Sie Folgendes in Artifact of Configure project ein, und drücken Sie Finish.

groupId ・ ・ ・ ・ Wie das übergeordnete Projekt Artefakt-ID ・ ・ ・ Modulname version ・ ・ ・ Wie das übergeordnete Projekt Paket ・ ・ ・ ** Glas **

Ein Untermodul wird mit der folgenden Ordnerstruktur erstellt. sub module ├src/main/java └src/test/java

Erstellen eines Hauptmoduls (Webmodul)

Erstellen Sie ein Webanwendungsmodul, das diesmal das Hauptmodul ist.

  1. Klicken Sie mit der rechten Maustaste auf das übergeordnete Projekt> Maven> Neues Maven-Modulprojekt.
  2. Deaktivieren Sie im New Maven-Projekt das Kontrollkästchen "Einfaches Projekt erstellen (Auswahl des Archetyps überspringen)".
  3. Geben Sie den Namen des Moduls in Modulname ein, bestätigen Sie, dass das übergeordnete Projekt in Übergeordnetes Projekt angegeben ist, und klicken Sie auf Weiter.
  4. Wählen Sie unter Archetyp auswählen die Option Artefakt-ID: maven-archetype-webapp aus und klicken Sie auf Weiter.
  5. Bestätigen Sie und geben Sie Folgendes in Artifact of Configure project ein, und drücken Sie Finish.

groupId ・ ・ ・ ・ Wie das übergeordnete Projekt Artefakt-ID ・ ・ ・ Modulname version ・ ・ ・ Wie das übergeordnete Projekt Paket ・ ・ ・ ** Krieg **

Ein Webmodul wird mit der folgenden Ordnerstruktur erstellt. web module ├src/main/resources └src / main / webapp (Stammordner der Web-App. Darunter befinden sich META-INF und WEB-INF.)

maven-archetype-webapp erstellt keinen Java-Quellordner oder Testordner. Erstellen Sie daher einen.

web module ├src/main/java ├src/main/resources ├src/main/webapp └src/test/java

Abhängigkeitsauflösung

Fügen Sie für jedes Modul eine Abhängigkeit zu pom.xml hinzu. In Eclipse können Sie auch den dedizierten Maven POM-Editor verwenden, um visuell leicht verständliche Eingaben vorzunehmen.

Öffnen Sie pom.xml im Maven POM Editor und öffnen Sie die Registerkarte Abhängigkeiten. Klicken Sie links auf Für Abhängigkeiten hinzufügen, um das Fenster Abhängigkeit auswählen zu öffnen. Geben Sie die Gruppen-ID / Artefakt-ID / Version / den Bereich der Bibliothek an, die Sie hinzufügen möchten, und drücken Sie OK. Wenn Sie es nicht wissen, können Sie mit Enter ... in der Mitte suchen.

Wenn Sie die hinzugefügte Bibliothek zum Abhängigkeitsmanagement des übergeordneten Pom hinzufügen und gemeinsam mit anderen Submodulen darauf verweisen möchten, klicken Sie auf Verwaltet. Wählen Sie links die Bibliothek aus, die Sie dem übergeordneten Pom hinzufügen möchten, wählen Sie rechts das übergeordnete Pom aus und drücken Sie OK. Dadurch wird die Bibliothek zum Abhängigkeitsmanagement des übergeordneten Pom hinzugefügt. Wenn Sie sie jedoch mit einem anderen Untermodul verwenden möchten, öffnen Sie diese pom.xml und fügen Sie die Bibliothek hinzu.

Angeben eines Plug-Ins

Führen Sie das folgende Plug-In aus, um den Bericht auf "mvn site" auszugeben. Wenn Sie den Bericht mit Jenkins erstellen, können Sie ihn auch als Ergebnis des Builds ausgeben.

Ein Einstellungsbeispiel finden Sie unter [hier](http://qiita.com/kazokmr/items/971ec5cc8e3a07f2429a#pomxml Beispiel). (Dies ist mein Artikel.)

Umgebungsabhängige Einstellungen

pom.xml hat ein "Profil" -Tag. Beispielsweise wird es verwendet, wenn Sie einen bestimmten Einstellwert je nach Situation ändern möchten. Ich denke, dass es ein DB-Verbindungsziel als Methode gibt, die häufig verwendet wird. Die Definition des Verbindungsziels ist beispielsweise eine resourceProperty-Datei

jdbc.url=jdbc:oracle://xxxxxxxx:1521/ora
jdbc.username=username
jdbc.password=password

Um für die drei Umgebungen Entwicklungsumgebung (dev), Verifizierungsumgebung (Staging) und Produktionsumgebung (prod) zu erstellen, legen Sie im Profil Folgendes fest.

pom.xml


<profiles>
  <profile>
    <id>dev</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
      <jdbc.url>jdbc:oracle://xxxxxxxx:1521/oradev</jdbc.url>
      <jdbc.username>Benutzername der Entwicklungsumgebung</jdbc.username>
      <jdbc.password>Passwort für die Entwicklungsumgebung</jdbc.password>
    </properties>
  </profile>
  <profile>
    <id>staging</id>
    <properties>
      <jdbc.url>jdbc:oracle://xxxxxxxx:1521/orastaging</jdbc.url>
      <jdbc.username>Benutzername der Überprüfungsumgebung</jdbc.username>
      <jdbc.password>Passwort für die Überprüfungsumgebung</jdbc.password>
    </properties>
  </profile>
  <profile>
    <id>prod</id>
    <properties>
      <jdbc.url>jdbc:oracle://xxxxxxxx:1521/oraprod</jdbc.url>
      <jdbc.username>Produktionsbenutzername</jdbc.username>
      <jdbc.password>Passwort für die Produktionsumgebung</jdbc.password>
    </properties>
  </profile>
</profiles>

Da activeByDefault = true der Standardwert ist, wird beim Erstellen ohne Angabe von Angaben oder beim Starten der Webanwendung in der IDE auf ihn verwiesen. Wenn Sie zur Verifizierungsumgebung oder Produktionsumgebung wechseln möchten, geben Sie die Profil-ID mit den Optionen "mvn -P-Staging-Paket", "man -P-Produktpaket" und "-P" an.

Die umgebungsabhängige Einstellungsdatei wird von einem dedizierten Modul verwaltet. Durch Trennen vom Webanwendungsmodul kann die War-Datei wiederverwendet werden.

Dies ist eine Methode zum Wechseln einiger Eigenschaften, aber das Profil kann auch die Eigenschaftendatei selbst wechseln. Angenommen, Eigenschaftendateien werden für jede Umgebung in den folgenden Verzeichnissen verwaltet.

src/main/resources/··· Verzeichnis der Ressourcendatei der Entwicklungsumgebung (Standard)
resources/staging/··· Ressourcendateiverzeichnis für die Überprüfungsumgebung
resources/prod/··· Ressourcendateiverzeichnis für die Produktionsumgebung

Die pom.xml zum Ersetzen der Dateien unter "src / main / resources /" für jede Umgebung lautet wie folgt.

pom.xml


<profiles>
  <profile>
    <id>dev</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
      <resources.directory>${basedir}/src/main/resources</resources.directory>
    </properties>
  </profile>
  <profile>
    <id>staging</id>
    <properties>
      <resources.directory>${basedir}/resources/staging</resources.directory>
    </properties>
  </profile>
  <profile>
    <id>prod</id>
    <properties>
      <resources.directory>${basedir}/resources/prod</resources.directory>
    </properties>
  </profile>
</profiles>
···
<build>
  <resources>
    <resource>
      <directory>${resources.directory}</directory>
    </resource>
  </resources>
</build>

Im Build-Tag wird der Pfad des Ressourcenverzeichnisses in "$ {resources.directory}" definiert, und der Verzeichnispfad für jede Umgebung wird im Profil definiert. Auf diese Weise entsteht ein umweltunabhängiger Krieg, der in einer anderen Umgebung wiederverwendet werden kann.

Darüber hinaus denke ich, dass es besser ist, die Umgebungseinstellungsdatei mit einem dedizierten Modul anstelle des Webanwendungsmoduls zu verwalten, als Referenzbibliothek auszugehen und sie nicht in den Krieg einzubeziehen.

In den Terasoluna-Richtlinien wird auch erläutert, wie umgebungsabhängige Dateien erstellt werden. Terasoluna --3.5. Build Development Project

~~ Ich wollte das Profil verwenden, da es in diesem Projekt auch 3 DB-Verbindungsziele gibt, Entwicklungsumgebung / Verifizierungsumgebung / Produktionsumgebung, aber die Einstellungsdatei des Verbindungsziels befand sich nicht im Ressourcenordner und im Ressourcenordner. Aufgrund der großen Anzahl von Dateien war es schwierig, alle zu verwalten. Daher habe ich zuerst ohne Profil migriert. ~~ Ich habe es in diesem Artikel versucht.

So beziehen Sie sich auf den OJDBC-Treiber

Der OJDBC-Treiber (oracle.jar) wird nicht vom Maven-Repository verwaltet und muss folgendermaßen in das Maven-Projekt importiert werden: (In diesem Projekt ist Oracle.jar auf Laufzeit eingestellt, und auf dem Produktionsserver wird das JAR in Tomcats Bibliothek abgelegt.)

1. Registrieren Sie sich mit Abhängigkeit im Systemumfang

  1. Laden Sie die erforderliche Datei oracle.jar von der offiziellen Oracle-Website herunter.
  2. Platzieren Sie oracle.jar an einer beliebigen Stelle in Ihrem Projekt. (Lib Ordner usw.)
  3. Fügen Sie der Abhängigkeit in pom.xml hinzu. (Schreiben Sie wie gewohnt GroupId, ArtifactId, Version.)
  4. Setzen Sie den Abhängigkeitsbereich auf SYSTEM und geben Sie den Pfad in oracle.jar an, der in SYSTEMPATH platziert ist.

2. Legen Sie oracle.jar in Ihrem lokalen Repository ab

  1. Laden Sie die erforderliche Datei oracle.jar von der offiziellen Oracle-Website herunter.
  2. Platzieren Sie oracle.jar im lokalen Repository ~ / .m2 / repository.
  3. Fügen Sie der Abhängigkeit in pom.xml hinzu. (Schreibe GroupId, ArtefaktId, Version wie gewohnt)

3. Stellen Sie es im offiziellen Maven-Repository von Oracle zur Verfügung.

Verwendung des offiziellen Oracle Maven-Repositorys

Diese Methode selbst ist nicht bestätigt und nicht verifiziert. Es scheint jedoch notwendig zu sein, die OTN-Lizenz in jeder Entwicklungsumgebung festzulegen und den Befehl mvn zum ersten Mal in Eclipse auszuführen.

Führen Sie build aus

  1. Klicken Sie mit der rechten Maustaste auf das Projekt oder Modul, das Sie erstellen möchten> Ausführen als> Maven-Build.
  2. Der Maven-Einstellungsbildschirm wird angezeigt. Geben Sie das Ziel oder die Phase, die Sie ausführen möchten, in Ziele ein. Beispiel clean compile`` clean install site etc.
  3. Das Ergebnis der Maven-Ausführung wird auf der Konsole angezeigt. Wenn es Erfolg ist, ist es vollständig. Wenn ein Fehler auftritt, beseitigen Sie die Ursache.
  4. Wenn Sie install ausgeführt haben, werden die War- und JAR-Dateien in Ihr lokales Repository hochgeladen.

Server Einstellungen

Obwohl es nichts mit Maven zu tun hat, haben Sie beim Ausführen einer Web-App in Eclipse das Tomcat-Plug-In installiert. Dieses Mal wird jedoch erläutert, wie Sie eine Tomcat-Anwendung mit dem WTP-Plug-In ausführen. (Es wird davon ausgegangen, dass das WTP-Plug-In in Eclipse installiert ist.)

  1. Öffnen Sie die Serveransicht und klicken Sie mit der rechten Maustaste auf> Neu> Server.
  2. Wählen Sie unter Neuen Server definieren die Option Apache> Tomcat vX.X Server aus. (X.X ist die Version von Tomcat, die Sie verwenden möchten.)
  3. Wenn der Bildschirm mit den Tomcat Server-Einstellungen angezeigt wird, geben Sie das lokale Tomcat-Verzeichnis im Tomcat-Installationsverzeichnis an oder installieren Sie Tomcat über die Schaltfläche Herunterladen und Installieren.
  4. Wählen Sie in ähnlicher Weise für JRE lokal oder installieren aus und klicken Sie auf Fertig stellen.
  5. Kehren Sie zur Serveransicht zurück, klicken Sie mit der rechten Maustaste auf den hinzugefügten Tomcat vX.X-Server> und wählen Sie Hinzufügen und Entfernen.
  6. Verfügbare Webmodule werden angezeigt. Wählen Sie sie aus und klicken Sie zum Abschluss auf Hinzufügen.
  7. Klicken Sie nach dem Hinzufügen des Webmoduls mit der rechten Maustaste auf Tomcat vX.X Server> Start, um Tomcat zu starten.

Referenzseite

Apache Maven Project Wikipedia Maven Basics Erste Schritte mit Maven3 Zusammenfassung zum Schreiben von POM für Maven2 und Maven3 ~ Übersicht ~ Maven Build Lifecycle Ich erkläre "Was ist ein Build-Tool?" Einem Neuling, der nur Java-Apps von Eclipse ausgeführt hat ... und dann von CI 6. Profil | TECHSCORE

Recommended Posts

Stellen Sie Maven das Tomcat-Projekt vor
Einführung in Kotlin in ein bestehendes Java Maven-Projekt
Wie erstelle ich ein Maven-Projekt?
Maven-Projekt erstellen
Slf4J + logback zum Eclipse Maven-Projekt hinzugefügt
[Eclipse / Tomcat] Servlet + JSP in Mavens Webapp-Projekt
Port Tomcat nach MAMP
Erstellen eines Maven-Webprojekts
Stellen Sie das Spring Boot-Projekt in XAMPP für Tomcat bereit
So führen Sie die Standardauthentifizierung ein
Versuchen Sie, OpenCV in die Android-Anwendung einzuführen
SCP überträgt War-Datei an Tomcat
CI für Maven-Projekt auf AppVeyor
CI für Maven-Projekt bei CircleCI
Erstellen Sie ein Tomcat-Projekt mit Eclipse
Bis zur Einführung von Schriftarten in Rails
[STS] Fehler aufgrund von Projektüberlappung
JVM für jedes Projekt wechseln
Süchtig nach dem Importieren von Projekten aus GitHub
Verfahren zum Veröffentlichen im Maven Central Repository
So installieren Sie jQuery in Rails 6
Erstellen Sie ein Maven-Projekt mit Befehlen