【Tomcat】Tomcat原理 第一部分 Tomcat源码

Q:在哪里下载Tomcat的源码?A:tomcat的官网,找到Source Code ...那里:

将源码导入idea工程项目中的步骤如下:

然后将源码包解压缩,将解压后文件夹中的子文件夹/conf和/webapps移到新建的/home下,

而且,提供pom.xml配置文件(我的tomcat是9.0.62版本的):

<?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‐9.0.62‐src</artifactId>-->
  <artifactId>apache‐tomcat‐9.0.62‐src</artifactId>
  <name>Tomcat9.0</name>
  <version>9.0</version>
  <build>
    <finalName>Tomcat9.0</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>3.8.1</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>

这里pom容易产生几个bug:

①可能不允许xsi的命名空间xmlns,会提示以下错误:

URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)

这时候就需要到这里提示的设置去添加该配置:

(好像之前搭简单的springboot时也遇到过类似的情况) 

以及找不到maven的sidebar,有可能是没识别到pom.xml为maven工程的一部分,这里可以add as Maven project,就会识别为maven工程的配置文件了:

②设置源码目录:要看看是不是因为少了/路径标识符才报错的,web工程根目录/下的java文件夹

<sourceDirectory>/java</sourceDirectory>

然后解决pom的bug以后继续前进:

配置idea的启动类,即main class,还要设置VM参数,提供VM参数如下:(按自己的配)

‐Dcatalina.home=E:/IDEA/apache‐tomcat‐
9.0.62‐src/home
‐Dcatalina.base=E:/IDEA/apache‐tomcat‐
9.0.62‐src/home
‐Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
‐Djava.util.logging.config.file=E:/IDEA/apache‐tomcat‐9.0.62‐
src/home/conf/logging.properties

bootstrap在src\java/org/apache/catalina/startup/下  

 本次配置如上。

然后启动主方法BootStrap,直接run:

然后还有一个小问题:

out输出文件夹没有出现。

应该转到Modules设置,选中inherit project compile output path:

现在还没有解决这个问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值