引言
隨着微服務的流行,輕量級的服務應用器也是跟着大火了。畢竟那些企業級的服務應用器部署搭建成本太高。並且springboot 自帶的就是 tomcat 服務。
所以我們也有必要學習 tomcat 的相關知識啦,我們在項目中也用的很多,但是我們往往只是用他,沒有深入的瞭解,但這樣對我們來說是不夠的的。
所以這裏就來三步教會大家搭建一個 tomcat 源碼運行環境,讓大家打開深入瞭解 tomcat 的大門,邁向人生的巔峯~~~
下載源代碼
想要構建源代碼,當然需要下載源代碼啦。我這裏用的是8.5.50 大家可以去官網上下載。也可以在公衆號後臺回覆 “tomcat 源碼” 獲取。
下載好之後,解壓如下:
我們創建一個resource 目錄,將conf 目錄和 webapps 目錄放到 resource 目錄下。
創建 pom.xml
在解壓的根目錄創建一個pom.xml 文件,說到底 tomcat 底層還是 java 實現的。是一個maven 工程,我已我們創建一個pom.xml.
內容如下:
<?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>apache-tomcat-8.5.50-src</artifactId>
<name>Tomcat8.5</name>
<version>8.5</version>
<build>
<!--指定源⽬錄-->
<finalName>Tomcat8.5</finalName>
<sourceDirectory>java</sourceDirectory>
<resources>
<resource>
<directory>java</directory>
</resource>
</resources>
<plugins>
<!--引⼊編譯插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<encoding>UTF-8</encoding>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
<!--tomcat 依賴的基礎包-->
<dependencies>
<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>
<dependency>
<groupId>javax.xml.soap</groupId>
<artifactId>javax.xml.soap-api</artifactId>
<version>1.4.0</version>
</dependency>
</dependencies>
</project>
導入 IDEA
接下來我們直接在 idea 中導入 tomcat 項目。導入完成後,還需要做一些配置。我們選擇 Bootstrap 爲啓動類。
並且給啓動類 Bootstrap 配置 VM 參數,因爲 tomcat 源碼運⾏也需要加載配置⽂件等。
-Dcatalina.home=E:/IdeaProjects/apache-tomcat-8.5.50-src/resource
-Dcatalina.base=E:/IdeaProjects/apache-tomcat-8.5.50-src/resource
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=E:/IdeaProjects/apache-tomcat-8.5.50-src/resource/conf/logging.properties
這裏的絕對路徑換成你們電腦的位置。
測試
經過上面三步,其實 tomcat 的運行環境就搭建起來啦。我們點擊運行一下。
可以看到已經啓動成功了,我們瀏覽器上看下。輸入:
localhost:8080
什麼鬼?報錯啦?翻車啦?不存在的。
這是因爲我們沒有初始化jsp 解析引擎,所以需要我們手動初始化一下,怎麼做呢?
找到 ContextConfig 的 configureStart 方法。
在 webConfig(); 後面加上:
context.addServletContainerInitializer(new JasperInitializer(),null);
然後我們再來啓動下試試。
完美!!!
總結
想着以爲很難,做着其實發現也不過爾爾。所以大家要勇於付諸實踐纔行喲~~~
如果您覺得好看,記得給我點個在看喔!!!
如果您覺得好看,記得給我點個在看喔!!!
如果您覺得好看,記得給我點個在看喔!!!