[JAVA] So wechseln Sie Tomcat context.xml mit Eclipse WTP

Einführung

Beschreiben Sie die Datenquelleneinstellungen in context.xml, wenn Sie die von Tomcat aus einer Webanwendung bereitgestellte Datenquelle verwenden. In diesem Artikel werde ich Ihnen zeigen, wie Sie die Datei context.xml für jeden Entwickler wechseln, wenn Sie Tomcat mit WTP (Web Tools Plugin) von Eclipse starten und entwickeln.

Wenn Sie wissen möchten, wie es schnell geht, lesen Sie bitte Schaltmethode.

Warum müssen Sie context.xml wechseln?

Es gibt zwei Hauptspeicherorte für context.xml.

  1. `` `META-INF / context.xml``` unter der Webanwendung
  2. `` `$ CATALINA_BASE / conf / context.xml``` im Tomcat-Installationsverzeichnis

(Referenz: Apache Tomcat 8-Konfigurationsreferenz (8.5.32) - Der Kontextcontainer)

Jedes hat die folgenden Merkmale, aber es hat Vor- und Nachteile.

** 1. Unter Webanwendung **

** 2. Unter dem Tomcat-Installationsverzeichnis **

Insbesondere wenn jeder Entwickler während der Bereitstellung auf Tomcat unter Eclipse unter Verwendung seiner eigenen Entwicklungsdatenbank während der Entwicklung entwickelt, wie man context.xml zu einem Konfigurationsverwaltungsziel macht und es entsprechend der Umgebung wechselt vorstellen.

So wechseln Sie

Grundidee

Alle Dateien, die die Datenquelleneinstellungen für jeden Entwickler beschreiben, werden von Git verwaltet, und das Umschalten erfolgt über symbolische Links. Die symbolische Verknüpfung ist eine WTP-Einstellung und sollte unter META-INF bereitgestellt werden.

Die context.xml, die die Datenquelleneinstellungen für jeden Entwickler beschreibt, befindet sich im Verzeichnis `context / user``` mit dem Dateinamen` context_login user name.xml```. Dies wird von Git verwaltet. Der Login-Benutzername ist der Windows-Login-Benutzername (`% USERNAME%` Umgebungsvariable). Im folgenden Beispiel sind Alice, Bob und Charlie die Login-Benutzernamen des Entwicklers. Erstellen Sie auf diese Weise so viele Dateien, wie Entwickler vorhanden sind.

Jeder Entwickler konfiguriert die Datenquelle, indem er einen symbolischen Link zu seinem eigenen context_login username.xml``` als `context / META-INF / context.xml``` erstellt. Erreicht das Umschalten.

Struktur des Eclipse-Projektverzeichnisses

Erstellen Sie unter dem Eclipse-Projekt neue Verzeichnisse `context / META-INF``` und` context / user```.

context/meta-infDer Inhalt von befindet sich in der Webanwendung gemäß den unten beschriebenen Einstellungen.meta-infEs wird darunter bereitgestellt.

context/Der Kontext für jeden Entwickler, der oben unter Benutzer erwähnt wurde_***.Platziere die XML. Auch eine Batch-Datei zum Erstellen symbolischer Links(Siehe unten)Auch platzieren.



(Projektstammverzeichnis) ┊ ├ context │ ├ META-INF │ │ ├ .gitignore │ │ └ context.xml ← <setup-context.Eine symbolische Verbindung, die von bat erstellt wurde. Nicht von Git verwaltet> │ │ │ └ user │ ├ setup-context.bat ← <Batch-Datei zum Erstellen symbolischer Links(Siehe unten)> │ ├ context_alice.xml ← <Ein Kontext, der die Datenquelleneinstellungen von Alice beschreibt.xml> │ ├ context_bob.xml ← <Kontext, der die Einstellungen der Bob-Datenquelle beschreibt.xml> │ └ context_charlie.xml ← <Ein Kontext, der die Einstellungen der Charlie-Datenquelle beschreibt.xml> ┊



#### **`context_***.Der Inhalt von XML ist der folgende Kontext.Ändern Sie in der XML-Datei nur das Verbindungsziel entsprechend dem Entwickler.(Unten finden Sie ein Beispiel in MySQL)`**

context_***.xml


<?xml version="1.0" encoding="UTF-8"?>
<Context path="/webapp" docBase="webapp" crossContext="true" reloadable="true" debug="1">
	<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"
                  driverClassName="com.mysql.jdbc.Driver"
                  url="jdbc:mysql://Gastgeber:3306/Name der Datenbank"
                  username="Nutzername" password="Passwort"
                  maxIdle="10" defaultAutoCommit="false" />
</Context>

Erstellen einer symbolischen Verknüpfung

setup-context.bat ist eine Batch-Datei zum Erstellen symbolischer Links zur einfachen Erstellung. Der Entwickler klont das Projekt und führt diese Batchdatei aus. installieren-context.Schläger%USERNAME%Siehe Kontext_Login Benutzername.Kontext eines symbolischen Links zu XML/META-INF/context.Es wird als XML erstellt.



 Dieser symbolische Link ist die einzige Datei, die sich für jeden Entwickler ändert. Dieser symbolische Link befindet sich außerhalb der Git-Kontrolle, wie unten beschrieben, sodass keine Konflikte auftreten.

## Setzen Sie symbolische Links aus der Git-Verwaltung

 Aufgrund der Spezifikationen von Git ist die Entität der symbolischen Links im Repository registriert, sodass `` `context / META-INF / context.xml`` `von der Git-Verwaltung ausgeschlossen ist. Erstellen Sie daher `` `context / META-INF / .gitignore``` wie folgt.



#### **`.gitignore`**
```python

/context.xml

Eclipse-Projekteinstellungen

Richten Sie das Projekt in Eclipse wie folgt ein: Wenn Tomcat mit WTP gestartet wird, werden die Dateien unter `context / META-INF /` daher unter `` META-INF``` der Webanwendung kopiert.

  1. Öffnen Sie die Projekteigenschaften in Eclipse und öffnen Sie Deployment Assembly.

  2. Klicken Sie auf die Schaltfläche "Hinzufügen ..." und wählen Sie in der neuen Assembly-Direktive "Ordner" aus. Assembly.png

  3. Wählen Sie das Verzeichnis `context / META-INF``` aus und geben Sie` META-INF / `` `für den Bereitstellungspfad an, um Ihre Einstellungen zu speichern. context.png

Wenn Sie Tomcat nun über WTP starten, lautet "context.xml``` (eigentlich ``context _ ***. Xml```) laut Entwickler" WEB-INF / ". Es wird unter `bereitgestellt und kann die Einstellungen der Datenquelle ändern.

Batch-Datei zum Erstellen symbolischer Links

setup-context.Erstellen Sie eine Fledermaus mit den folgenden Inhalten. Im Wesentlichen erstellen Sie nur eine symbolische Verknüpfung mit dem Befehl mklink. Wenn der symbolische Link bereits vorhanden ist, werden Sie zur Bestätigung aufgefordert und überschrieben.




#### **`setup-context.bat`**
```python

@echo off

set CONTEXT_DIR=..\META-INF
set CONTEXT_FILE=context.xml

%~d0
pushd %~p0

set USER_CONTEXT_DIR=%~p0

for %%I IN ( %USER_CONTEXT_DIR:~0,-1% ) do set "USER_CONTEXT_DIR=%%~nI"

cd %CONTEXT_DIR%

if not exist %CONTEXT_FILE% goto :MAKELINK

set /P INPUT="[WARNING] %CONTEXT_FILE%Existiert.Löschen Sind Sie sicher, dass Sie möchten?? (y/n)"
if not %INPUT%==y goto :END

del %CONTEXT_FILE%

:MAKELINK
mklink %CONTEXT_FILE% ..\%USER_CONTEXT_DIR%\context_%USERNAME%.xml

:END
popd

pause

Betriebsmethode

Jetzt können Sie im folgenden Ablauf arbeiten.

  1. Wenn die Anzahl der Entwickler zunimmt, bereiten Sie eine Datenbank für diesen Entwickler vor, erstellen Sie `context_ <Entwicklerbenutzername> .xml , um eine Verbindung herzustellen, und context / users Platzieren Sie es unter / `und legen Sie fest.
  2. Der Entwickler klont das Projekt und importiert es in Eclipse.
  3. Der Entwickler führt `` `context / user / setup-context.bat``` aus. [^ Erlaubnis]
  4. `` `context / META-INF / context.xml``` wird als symbolischer Link erstellt.
  5. Aktualisieren Sie durch Drücken von F5 im Paket-Explorer von Eclipse. Stellen Sie sicher, dass `context / META-INF / context.xml `angezeigt wird.
  6. Wenn Sie Tomcat über WTP starten, wird "context / META-INF / context.xml" unter "META-INF" der Webanwendung gemäß den Projekteinstellungen von Eclipse und den Daten kopiert Aktiviert als Quelleneinstellung.

[^ Berechtigung]: Wenn zu diesem Zeitpunkt die Meldung "Sie haben nicht genügend Berechtigungen, um diesen Vorgang auszuführen" angezeigt wird, führen Sie die Batchdatei mit Administratorrechten aus.

Es mag heutzutage nur wenige Entwicklungsprojekte geben, die Tomcat-Datenquellen direkt verwenden, aber dies kann die Belastung des Bodens ein wenig verringern.

Recommended Posts

So wechseln Sie Tomcat context.xml mit Eclipse WTP
Verwendung der Z3-Bibliothek in Scala mit Eclipse
Verwendung der JDD-Bibliothek in Scala mit Eclipse
So führen Sie JUnit in Eclipse aus
So setzen Sie Lombok in Eclipse
So wechseln Sie Miniaturbilder mit JavaScript
Wie kann ich Spring Tool in Eclipse 4.6.3 einbinden?
So wechseln Sie die Java-Version mit direnv im Terminal auf dem Mac
[Für Anfänger] So debuggen Sie mit Eclipse
[Java FX] So schreiben Sie Eclipse-Berechtigungen in build.gradle
Farbcodierung der Konsolenausgabe in Eclipse
Erste Schritte mit Eclipse Micro Profile
So generieren Sie automatisch einen Konstruktor in Eclipse
Debuggen mit Eclipse
Einbetten von JavaScript-Variablen in HTML mit Thymeleaf
Der richtige Weg, um die Tomcat-Quelle in Eclipse zu sehen
So sortieren Sie mit SQLite in aufsteigender / absteigender Reihenfolge
Aufrufen von Funktionen in großen Mengen mit Java Reflection
Organisierte schrittweise Interaktion mit dem JDK
[So fügen Sie ein Video mit Rails in haml ein]
So löschen Sie mit Docker Bilder ohne Tags in großen Mengen
So starten Sie den lokalen Server von Tomcat ohne Eclipse
So verwalten Sie Java EE-Projekte in Eclipse
Abfragen von Arrays in jsonb mit Rails + postgres
So debuggen Sie die generierte JAR-Datei mit Eclipse
Wie man mit html.erb nummeriert (nummeriert)
So aktualisieren Sie mit activerecord-import
Verwendung von Eclipse Debug_Shell
Verbinde dich mit Eclipse mit Orakel!
Installieren Sie das Tomcat-Plug-In in Eclipse
So erhalten Sie Werte in Echtzeit mit TextWatcher (Android)
So legen Sie den Zeichencode und den Zeilenvorschubcode in Eclipse fest
Dynamisches Wechseln von JDKs beim Erstellen von Java mit Gradle
Zuordnung zu einer Klasse mit einem Wertobjekt in How to My Batis
So stellen Sie eine Java-Anwendung in Alibaba Cloud EDAS in Eclipse bereit
So wechseln Sie Java in der OpenJDK-Ära auf dem Mac
So richten Sie einen Proxy mit Authentifizierung in Feign ein
So registrieren Sie sich mit Tomcat als Kunde in Square
So wechseln Sie in Netty dynamisch zwischen FIN und RST
Wie man Lombok im Frühling benutzt
So finden Sie May'n in XPath
So blenden Sie die Bildlaufleiste in WebView aus
Wie fange ich mit schlank an?
Wie man in Ruby auf unbestimmte Zeit iteriert
Wie man Ant in Gradle ausführt
So erstellen Sie eine JAR-Datei ohne Abhängigkeiten in Maven
Wie man die Programmierung in 3 Monaten beherrscht
Wie man ein Zeichen mit "~" einschließt
Ich habe versucht, mit Eclipse + Tomcat eine http2-Entwicklungsumgebung zu erstellen
Wie man JAVA in 7 Tagen lernt
So erhalten Sie Parameter in Spark
So installieren Sie Bootstrap in Ruby
Wie man mssql-tools mit alpine benutzt
Verwendung von InjectorHolder in OpenAM
So erhalten Sie den Wert von Boolean mit jQuery in einfacher Rails-Form
So installieren Sie jQuery in Rails 6
So benennen Sie ein Modell mit externen Schlüsseleinschränkungen in Rails um