• Tomcat源码Idea maven启动


    一、下载tomcat源码

    https://github.com/apache/tomcat/tree/8.5.x

    二、建立pom

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <project xmlns="http://maven.apache.org/POM/4.0.0"
     3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     5 
     6     <modelVersion>4.0.0</modelVersion>
     7     <groupId>org.apache.tomcat</groupId>
     8     <artifactId>Tomcat8.5</artifactId>
     9     <name>Tomcat8.0</name>
    10     <version>8.0</version>
    11 
    12     <build>
    13         <finalName>Tomcat8.5</finalName>
    14         <sourceDirectory>java</sourceDirectory>
    15         <testSourceDirectory>test</testSourceDirectory>
    16         <resources>
    17             <resource>
    18                 <directory>java</directory>
    19             </resource>
    20         </resources>
    21         <testResources>
    22             <testResource>
    23                 <directory>test</directory>
    24             </testResource>
    25         </testResources>
    26         <plugins>
    27             <plugin>
    28                 <groupId>org.apache.maven.plugins</groupId>
    29                 <artifactId>maven-compiler-plugin</artifactId>
    30                 <version>2.3</version>
    31                 <configuration>
    32                     <encoding>UTF-8</encoding>
    33                     <source>1.8</source>
    34                     <target>1.8</target>
    35                 </configuration>
    36             </plugin>
    37         </plugins>
    38     </build>
    39 
    40     <dependencies>
    41         <dependency>
    42             <groupId>junit</groupId>
    43             <artifactId>junit</artifactId>
    44             <version>4.12</version>
    45             <scope>test</scope>
    46         </dependency>
    47         <dependency>
    48             <groupId>org.easymock</groupId>
    49             <artifactId>easymock</artifactId>
    50             <version>3.4</version>
    51         </dependency>
    52         <dependency>
    53             <groupId>ant</groupId>
    54             <artifactId>ant</artifactId>
    55             <version>1.7.0</version>
    56         </dependency>
    57         <dependency>
    58             <groupId>wsdl4j</groupId>
    59             <artifactId>wsdl4j</artifactId>
    60             <version>1.6.2</version>
    61         </dependency>
    62         <dependency>
    63             <groupId>javax.xml</groupId>
    64             <artifactId>jaxrpc</artifactId>
    65             <version>1.1</version>
    66         </dependency>
    67         <dependency>
    68             <groupId>org.eclipse.jdt.core.compiler</groupId>
    69             <artifactId>ecj</artifactId>
    70             <version>4.5.1</version>
    71         </dependency>
    72 
    73     </dependencies>
    74 </project>
    View Code

    编译可能有个测试类过不了。删除即可。

    三、新建catalina-home目录

    • 把webapp文件夹和conf文件夹copy到Catalina-home目录
    • 新建空文件夹temp、log、lib

    四,设置启动参数

    -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

      

    • main class设置为 org.apache.catalina.startup.Bootstrap
    • vm option复制上面的参数主要是设置Catalina的启动目录

     五、启动

     至此,tomcat已经成功启动。

    六、访问tomcat

    发现有NPE

    解决:在Bootstrap中启动jasper,修改代码,在ContextConfig中加入如下代码

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

    启动成功。

  • 相关阅读:
    重识linux-常见压缩和解压缩命令
    重识linux-压缩文件的原理
    重识linux-关于selinux
    重识linux-循环执行的例行性工作调度
    重识linux-仅执行一次的工作调动at
    Python资源
    python hehe
    Chrome 消息机制
    自己动手写reg注册表文件
    用JavaScript截图
  • 原文地址:https://www.cnblogs.com/Brake/p/13192575.html
Copyright © 2020-2023  润新知