tomcat源碼啓動

1. tomcat源碼下載地址

https://tomcat.apache.org/download-80.cgi

2. 解壓以及創建必要目錄和配置

解壓、新建catalina-home目錄,同時將目錄中的conf和webapps文件夾複製到catalina-home目錄中

3. 添加pom配置文件

<?xml version="1.0" encoding="UTF-8"?>
<project 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</artifactId>
  <name>Tomcat8.5</name>
  <version>8.5</version>

  <build>
      <finalName>Tomcat8.5</finalName>
      <sourceDirectory>java</sourceDirectory>
      <testSourceDirectory>test</testSourceDirectory>

      <resources>
          <resource>
              <directory>java</directory>
          </resource>
      </resources>

      <testResources>
         <testResource>
              <directory>test</directory>
         </testResource>
      </testResources>

      <plugins>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>2.3</version>
              <configuration>
                  <encoding>UTF-8</encoding>
                  <source>1.8</source>
                  <target>1.8</target>
              </configuration>
          </plugin>
      </plugins>
  </build>

  <dependencies>
      <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
          <scope>test</scope>
      </dependency>

      <dependency>
          <groupId>org.easymock</groupId>
          <artifactId>easymock</artifactId>
          <version>3.4</version>
      </dependency>

      <dependency>
          <groupId>ant</groupId>
          <artifactId>ant</artifactId>
          <version>1.7.0</version>
      </dependency>

      <dependency>
          <groupId>wsdl4j</groupId>
          <artifactId>wsdl4j</artifactId>
          <version>1.6.2</version>
      </dependency>

      <dependency>
          <groupId>javax.xml</groupId>
          <artifactId>jaxrpc</artifactId>
          <version>1.1</version>
      </dependency>

      <dependency>
          <groupId>org.eclipse.jdt.core.compiler</groupId>
          <artifactId>ecj</artifactId>
          <version>4.5.1</version>
      </dependency>
  </dependencies>
</project>

4. 把源碼導入eclipse,啓動Bootstrap

啓動類:Bootstrap
啓動選項中添加VM options

-Dcatalina.home=catalina-home
-Dcatalina.base=catalina-home
-Djava.endorsed.dirs=catalina-home/endorsed
-Djava.io.tmpdir=catalina-home/temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=catalina-home/conf/logging.properties

刪除報錯類TestCookieFilter

5. 啓動tomcat成功,但是訪問網址報500

修改源碼org.apache.catalina.startup.ContextConfig
添加context.addServletContainerInitializer(new JasperInitializer(), null);

webConfig();
context.addServletContainerInitializer(new JasperInitializer(), null);

6. 打印日誌亂碼問題

虛擬機參數加入下面兩行,指定日誌用英文輸出即可

-Duser.lanaguage=en
-Duser.region=US

7. 遺留問題

tomcat自帶應用manager等頁面顯示亂碼問題,暫未解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章