So führen Sie Tomcat-Quellcode im Maven-Modus aus

So führen Sie Tomcat-Quellcode im Maven-Modus aus

Vorwort

Kürzlich habe ich den Startvorgang von Tomcat analysiert. Obwohl wir den Quellcode von Tomcat theoretisch anzeigen können, können wir keine Codekommentare hinzufügen, was sehr unpraktisch ist. Wir können also trotzdem eine Kopie des Quellcodes lokal ausführen, was für uns bei der Analyse des Quellcodes sehr hilfreich ist.

1. Laden Sie den Tomcat-Quellcode herunter und wählen Sie die Version Tomcat-8.5.55 aus

Gehen Sie zur offiziellen Tomcat-Website, klicken Sie in der linken Menüleiste auf die entsprechende Version. Herunterladen und laden Sie den Quellcode herunter

2. Erstellen Sie ein Projekt in der Idee

1. Erstellen Sie ein leeres Projekt in idea mit dem Namen tomcat_study

2. Öffnen Sie das Quellverzeichnis des Projekts und entpacken Sie den Tomcat-Quellcode dort

3. Erstellen Sie einen Ordner

Erstellen Sie ein Home-Verzeichnis unter dem Tomcat-Quellcodeordner, schneiden Sie die Verzeichnisse „conf“ und „webapps“ im Quellcode hinein (andere neu erstellte Verzeichnisse wie Protokolle usw.) und erstellen Sie außerdem eine neue Maven-Datei „pom.xml“.

4. Inhalt der Datei pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<Projekt 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.apache.tomcat</groupId>
 <artifactId>Tomcat8.5.55</artifactId>
 <name>Tomcat8.5.55</name>
 <version>8.5.55</version>
 
 <Abhängigkeiten>
  <Abhängigkeit>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>4.12</version>
   <scope>Test</scope>
  </Abhängigkeit>
 
  <Abhängigkeit>
   <groupId>org.easymock</groupId>
   <artifactId>einfaches Mock</artifactId>
   <version>3.4</version>
  </Abhängigkeit>
 
  <Abhängigkeit>
   <groupId>org.apache.ant</groupId>
   <artifactId>Ameise</artifactId>
   <version>1.9.5</version>
  </Abhängigkeit>
 
  <Abhängigkeit>
   <groupId>javax.xml.rpc</groupId>
   <artifactId>javax.xml.rpc-api</artifactId>
   <version>1.1</version>
  </Abhängigkeit>
 
  <Abhängigkeit>
   <groupId>wsdl4j</groupId>
   <artifactId>wsdl4j</artifactId>
   <version>1.6.2</version>
  </Abhängigkeit>
 
  <Abhängigkeit>
   <groupId>org.eclipse.jdt.core.compiler</groupId>
   <artifactId>ecj</artifactId>
   <version>4.5.1</version>
  </Abhängigkeit>
 </Abhängigkeiten>
 
 <Bauen>
  <finalName>Tomcat8.5.55</finalName>
  <Quellverzeichnis>java</Quellverzeichnis>
  <Ressourcen>
   <Ressource>
    <Verzeichnis>java</Verzeichnis>
   </Ressource>
  </Ressourcen>
  <Plugins>
   <Plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>Maven-Compiler-Plugin</artifactId>
    <version>3.1</version>
    <Konfiguration>
     <Kodierung>UTF-8</Kodierung>
     <Quelle>1.8</Quelle>
     <target>1,8</target>
    </Konfiguration>
   </plugin>
  </plugins>
 </bauen>
</Projekt>

5. Tomcat-Startkonfiguration

5.1 Erstellen des Projekts

Nachdem wir die oben genannten Vorgänge abgeschlossen haben, öffnen wir das Projekt erneut in Idea, wählen direkt die hinzugefügte Datei pom.xml aus und erstellen nach dem Herunterladen aller Pakete die Projektstruktur.

5.2 Run/Debug-Konfigurationen festlegen

In

Hauptklasse:
org.apache.catalina.startup.Bootstrap
 
Ändern Sie die VM-Optionen entsprechend Ihrem eigenen Pfad:
-Dcatalina.home=G:/Projekte/Tomcat_Studie/Apache-Tomcat-8.5.55-src/home 
-Dcatalina.base=G:/Projekte/Tomcat_Study/Apache-Tomcat-8.5.55-src/home 
-Djava.endorsed.dirs=G:/Projekte/Tomcat_Study/Apache-Tomcat-8.5.55-src/home/endorsed 
-Djava.io.tmpdir=G:/Projekte/Tomcat_Study/Apache-Tomcat-8.5.55-src/home/temp 
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 
-Djava.util.logging.config.file=G:/projects/tomcat_study/apache-tomcat-8.5.55-src/home/conf/logging.properties

5.3 Einrichten der ContextConfig-Klasse

Öffnen Sie dann die ContextConfig-Klasse (unter org.apache.catalina.startup) und fügen Sie eine Codezeile hinzu: context.addServletContainerInitializer(new JasperInitializer(),null);

5.4 Tomcat starten

Sie können den Initialisierungs- und Startvorgang von Tomcat und die Ausführung anderer Quellcodes debuggen und anzeigen. Die Einstiegsklasse ist die Hauptmethode der Bootstrap-Klasse.

Zusammenfassen

Durch den obigen Prozess können wir den Tomcat-Quellcode lokal über Maven ausführen. Der Editor hat ihn erfolgreich ausgeführt und den Prozess des Aufrufs der Servlet-Initialisierung in Tomcat kommentiert.

Dies ist das Ende dieses Artikels zum Ausführen von Tomcat-Quellcode im Maven-Modus. Weitere relevante Inhalte zum Ausführen von Tomcat-Quellcode im Maven-Modus finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Lösen Sie das Problem, dass die Idee mit Maven normal kompiliert wird, aber beim Ausführen des Projekts viele JAR-Pakete nicht gefunden werden können.
  • Detaillierte Erläuterung zweier Möglichkeiten zum Ausführen von Projekten über Maven

<<:  CSS Houdini erzielt einen dynamischen Welleneffekt

>>:  Xhtml-Sonderzeichensammlung

Artikel empfehlen

Vue implementiert Beispielcode für Links- und Rechtsgleiteffekte

Vorwort Die bei der persönlichen tatsächlichen En...

Eine kurze Erläuterung der Schriftarteinstellungen in Webseiten

Das Festlegen der Schriftart für die gesamte Site...

So erstellen Sie LVM für das XFS-Dateisystem in Ubuntu

Vorwort Die logische Datenträgerverwaltung von lv...

Einführung in den vollständigen Namen und die Funktion von HTML-Tags

Alphabetisch DTD: Gibt an, in welcher XHTML 1.0 D...

Zusammenfassung der MySQL-Datums- und Zeitfunktionen (MySQL 5.X)

1. MySQL erhält die aktuelle Datums- und Uhrzeitf...

Zusammenfassung zum Hinzufügen von Root-Berechtigungen für Benutzer in Linux

1. Fügen Sie einen Benutzer hinzu . Verwenden Sie...

Methode zur Wiederherstellung von Betriebs- und Wartungsdaten der MySQL-Datenbank

In den vorherigen drei Artikeln wurden gängige Si...

MySQL-Lösung zur Datenpaging-Abfrageoptimierung auf Millionenebene

Wenn die Tabelle Zehntausende Datensätze enthält,...

Realisierung des Karusselleffekts basierend auf jQuery

In diesem Artikel wird der spezifische Code von j...

Reines CSS-Dropdown-Menü

Ergebnisse erzielen Implementierungscode html <...

So führen Sie py-Dateien direkt unter Linux aus

1. Erstellen Sie zuerst die Datei (wechseln Sie p...