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

Beispiel für einen Fork- und Mutex-Lock-Prozess im Linux-Multithreading

Inhaltsverzeichnis Frage: 1. Erster Versuch 2. Ra...

JavaScript realisiert den Effekt der mobilen Modalbox

In diesem Artikelbeispiel wird der spezifische Ja...

Detaillierte Erklärung zur Verwendung der Vue-Komponente zur Kennzeichensuche

Eine einfache Nummernschild-Eingabekomponente (vu...

Detailliertes Beispiel der Sortierfunktion field() in MySQL

Vorwort In unserem täglichen Entwicklungsprozess ...

Lösung für den Absturz der Grafikkarte auf Linux-Servern

Wenn die Auflösung der Anmeldeoberfläche besonder...

3 Funktionen der toString-Methode in js

Inhaltsverzeichnis 1. Drei Funktionen der toStrin...

Probleme bei der Verwendung der Rich-Text-Bearbeitung mit Wangeditor in Vue

wangEditor ist ein webbasierter Rich-Text-Editor,...

Lösung für den Fehler beim Aufruf von Yum im Docker-Container

Beim Ausführen von yum im Dockerfile oder im Cont...

Öffentliche kostenlose STUN-Server

Öffentliche kostenlose STUN-Server Wenn das SIP-T...

Verwenden Sie in JS nicht mehr überall Operatoren für absolute Gleichheit.

Inhaltsverzeichnis Überblick 1. Test auf Nullwert...

So analysieren Sie den SQL-Ausführungsplan in MySQL mit EXPLAIN

Vorwort In MySQL können wir den Befehl EXPLAIN ve...