欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Tomcat源碼導(dǎo)入idea的方法

 更新時(shí)間:2021年09月29日 11:05:31   作者:平原人  
這篇文章主要介紹了Tomcat源碼導(dǎo)入idea的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1.下載tomcat代碼

本文選擇9.0分支,此版本servlet還是javax開頭的 github

2.下載之后的目錄結(jié)構(gòu)

在這里插入圖片描述

3.源碼使用ant構(gòu)建(這里改用pom)

<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.11</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>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-jaxrpc_1.1_spec</artifactId>
      <version>2.1</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>

    <dependency>
      <groupId>biz.aQute.bnd</groupId>
      <artifactId>biz.aQute.bndlib</artifactId>
      <version>5.2.0</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>com.unboundid</groupId>
      <artifactId>unboundid-ldapsdk</artifactId>
      <version>3.2.0</version>
    </dependency>
  </dependencies>

</project>

直接使用idea重新導(dǎo)入,jdk暫時(shí)選擇1.8

4.問(wèn)題解決

4.1控制臺(tái)亂碼

信息: 至少有一個(gè)JAR被掃描用于TLD但尚未包含TLD。 為此記錄器啟用調(diào)試日志記錄,以獲取已掃描但未在其中找到TLD的完整JAR列表。 在掃描期間跳過(guò)不需要的JAR可以縮短啟動(dòng)時(shí)間和JSP編譯時(shí)間。
九月 29, 2021 3:52:17 上午 org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
警告: 使用[SHA1PRNG]創(chuàng)建會(huì)話ID生成的SecureRandom實(shí)例花費(fèi)了[149]毫秒。

九月 29, 2021 3:52:17亂碼 修改conf/logging.properties的編碼(現(xiàn)在默認(rèn)utf-8,基本無(wú)修改) 警告: 使用[SHA1PRNG]創(chuàng)建會(huì)話ID生成的SecureRandom實(shí)例花費(fèi)了[149]毫秒 亂碼

這里的亂碼本質(zhì)原因是properties文件亂碼,tomcat采用系統(tǒng)的讀取配置文件方式,使用的是URL.openStream,然后采用properties.load方法,這樣會(huì)導(dǎo)致亂碼

解決方案

把兩個(gè)國(guó)際化文件讀取重寫Localizer、StringManager

4.2訪問(wèn)8080報(bào)錯(cuò)jsp等class找不到

org.apache.catalina.startup.ContextConfig#configureStart方法加一句代碼
//TODO 手工加的
        context.addServletContainerInitializer(new JasperInitializer(), null);

在這里插入圖片描述

5.訪問(wèn)localhost:8080

在這里插入圖片描述

注意點(diǎn),有其他編譯選項(xiàng)發(fā),jdk11-16可以直接注釋
其他報(bào)錯(cuò)正常解決就行

到此這篇關(guān)于Tomcat源碼導(dǎo)入idea的文章就介紹到這了,更多相關(guān)Tomcat源碼導(dǎo)入idea內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論