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.
Es gibt zwei Hauptspeicherorte für context.xml.
(Referenz: Apache Tomcat 8-Konfigurationsreferenz (8.5.32) - Der Kontextcontainer)
Jedes hat die folgenden Merkmale, aber es hat Vor- und Nachteile.
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.
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.
Erstellen Sie unter dem Eclipse-Projekt neue Verzeichnisse `context / META-INF``` und`
context / user```.
context/meta-inf
Der Inhalt von befindet sich in der Webanwendung gemäß den unten beschriebenen Einstellungen.meta-inf
Es 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>
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
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.
Öffnen Sie die Projekteigenschaften in Eclipse und öffnen Sie Deployment Assembly.
Klicken Sie auf die Schaltfläche "Hinzufügen ..." und wählen Sie in der neuen Assembly-Direktive "Ordner" aus.
Wählen Sie das Verzeichnis `context / META-INF``` aus und geben Sie`
META-INF / `` `für den Bereitstellungspfad an, um Ihre Einstellungen zu speichern.
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.
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
Jetzt können Sie im folgenden Ablauf arbeiten.
`context_ <Entwicklerbenutzername> .xml
, um eine Verbindung herzustellen, und
context / users Platzieren Sie es unter /
`und legen Sie fest. `context / META-INF / context.xml
`angezeigt wird.[^ 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