# tomcat-9.0.46-source-for-learn **Repository Path**: Renchenhao/tomcat-9.0.46-source-for-learn ## Basic Information - **Project Name**: tomcat-9.0.46-source-for-learn - **Description**: tomcat9源码阅读 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-25 - **Last Updated**: 2024-08-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: source, learn ## README # 运行源码工程 ## 乱码配置 ```yaml -Duser.region=US -Dfile.encoding=UTF-8 ``` ## 初次启动配置 ### 1. 把以下配置加入 VM Options ```yaml -Dcatalina.home=$ProjectFileDir$ -Dcatalina.base=$ProjectFileDir$ -Djava.io.tmpdir=$ProjectFileDir$\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=$ProjectFileDir$\conf\logging.properties -Duser.language=en -Duser.region=US ``` 注意: $ProjectFileDir$ 环境变量, 无需更改 ### 2. 添加额外的jar包(不添加无法启动) 把当前工程的`extra-lib`目录下的所有库包分别添加到maven的本地仓库下,包路径如下(为了方便可以每个路径下都添加**所有包**, 不需要一一处理): ``` com\sun\xml\messaging\saaj\saaj-impl\1.3\ javax\xml\soap\saaj-api\1.3\ ``` ## 项目启动如何访问 按照路径`java/org/apache/catalina/startup/Bootstrap.java` 找到此类, 直接启动main方法即可(默认args为start) 启动后使用: `http://localhost:8088/helloApp1/hello-servlet` 访问, webContext为项目名称,除非指定了Context标签的path属性(当前指定了,在conf/server.xml文件中) ## 运行时如果项目报错 - 把lib目录下的jar包加入classpath - unMark test目录, `Mark Directory as ` 使其成为常规目录