zoukankan      html  css  js  c++  java
  • tomcat9源码导入idea

    maven部署

    下载源码

    tomcat最新版的github地址

    tomcat9官网下载

    步骤

    • 源码根目录新建 home 文件夹

    • 把 conf 文件夹和 webapps 文件夹移动到 home 文件夹

    • 把 home\webapps\examples\WEB-INF\classes\trailers 目录拷贝到 test\trailers 目录下(没有自己创建)

    • 把 home\webapps\examples\WEB-INF\classes\util\CookieFilter.java 文件拷贝到 test\util 目录下

    • 修改org.apache.catalina.startup.ContextConfig 文件的 configureStart() 方法

      添加初始化 JSP 解析器的代码

      context.addServletContainerInitializer(new JasperInitializer(), null);
      
    • 在源码根目录新建 pom.xml 文件

      设置jdk为1.8, 以及一些必要的依赖

      <?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>tomcat</artifactId>
      <name>tomcat</name>
      <version>9.0.19</version>
         
      <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
          <maven.compiler.source>1.8</maven.compiler.source>
          <maven.compiler.target>1.8</maven.compiler.target>
        </properties>
        <dependencies>
          <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
          </dependency>
          <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant</artifactId>
            <version>1.10.5</version>
          </dependency>
          <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.3</version>
          </dependency>
      
          <!-- https://mvnrepository.com/artifact/javax.xml.soap/javax.xml.soap-api -->
          <dependency>
            <groupId>javax.xml.soap</groupId>
            <artifactId>javax.xml.soap-api</artifactId>
            <version>1.4.0</version>
          </dependency>
      <!--    <dependency>-->
      <!--      <groupId>javax.xml</groupId>-->
      <!--      <artifactId>jaxrpc</artifactId>-->
      <!--      <version>1.1</version>-->
      <!--    </dependency>-->
          <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jaxrpc_1.1_spec</artifactId>
            <version>2.1</version>
          </dependency>
      
          <!--        <dependency>-->
          <!--            <groupId>org.eclipse.jdt.core.compiler</groupId>-->
          <!--            <artifactId>ecj</artifactId>-->
          <!--            <version>4.5</version>-->
          <!--        </dependency>-->
          <dependency>
            <groupId>org.eclipse.jdt</groupId>
            <artifactId>ecj</artifactId>
            <version>3.17.0</version>
          </dependency>
      
      
          <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <version>4.0.2</version>
            <scope>test</scope>
          </dependency>
        </dependencies>
      
        <build>
          <plugins>
      <!--      <plugin>-->
      <!--        <groupId>org.apache.maven.plugins</groupId>-->
      <!--        <artifactId>maven-compiler-plugin</artifactId>-->
      <!--        <configuration>-->
      <!--          <source>1.8</source>-->
      <!--          <target>1.8</target>-->
      <!--          <encoding>UTF-8</encoding>-->
      <!--        </configuration>-->
      <!--      </plugin>-->
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-resources-plugin</artifactId>
              <configuration>
                <encoding>UTF-8</encoding>
              </configuration>
            </plugin>
          </plugins>
        </build>
      </project>
      
    • idea打开该根目录

    • 标记sources和tests

    • maven导入

      右键pom.xml

    • 启动tomcat9

      找到 org.apache.catalina.startup.Bootstrap 运行 main 方法, 之后报错停止

    • 设置下 jvm 参数

      换成自己的目录

    -Dcatalina.home=F:\Java_Project\idea\tomcat-master\home -Dcatalina.base=F:\Java_Project\idea\tomcat-master\home -Djava.io.tmpdir=F:\Java_Project\idea\tomcat-master\home\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=F:\Java_Project\idea\tomcat-master\home\conf\logging.properties
    
    • 控制台乱码问题

      用11就没问题, 把这两个改成1.8控制台就乱码...

    参考博客
    ====================================================================================================
    截图

  • 相关阅读:
    e552. 取Applet的参数
    e551. 精简的Applet
    e558. 在Applet中多图片交互显示
    e1087. try/catch语句
    e1086. if/else语句
    e1087. 用For循环做数组的遍历
    e1084. 捕获错误和异常
    Zookeeper 应用程序
    Zookeeper API
    Java并发编程:volatile关键字解析
  • 原文地址:https://www.cnblogs.com/richardhaha/p/11289209.html
Copyright © 2011-2022 走看看