大安网站建设,怎么做视频平台网站,wordpress如何开启多站点,打鱼在线游戏网站建设因为学习需要#xff0c;我需要源码编译运行tomcat对其源码进行一个简单的追踪分析。由于先前并未接触过java相关的知识#xff0c;安装阻力巨大。最后请教我的开发朋友才解决了最后的问题。将其整理出来#xff0c;让大家能够快速完成相关的部署。本文仅解决tomcat-8.5.46版…因为学习需要我需要源码编译运行tomcat对其源码进行一个简单的追踪分析。由于先前并未接触过java相关的知识安装阻力巨大。最后请教我的开发朋友才解决了最后的问题。将其整理出来让大家能够快速完成相关的部署。本文仅解决tomcat-8.5.46版本的源码编译问题。
1.获取tomcat源码
下载连接https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.46/src/apache-tomcat-8.5.46-src.zip
2.解压到一个英文路径的目录 在此目录下添加名为catalina-home的目录将源码解压文件内的conf和webapps文件夹拷贝到实例文件夹中。 并在此目录下创建空的ilb、logs和temp文件夹 3.创建两个pom.xml文件
与解压目录同级的pom.xml文件
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdgxf/groupId artifactIdapache-tomcat-8/artifactId nameapache-tomcat-8-source/name version1.0/version packagingpom/packaging modules moduleapache-tomcat-8.5.46-src/module /modules
/project 与解压源码目录同级的pom.xml文件
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdorg.apache.tomcat/groupIdartifactIdTomcat8.5.46/artifactIdnameTomcat8.5.46/nameversion8.5/versionbuild finalNameTomcat8.0/finalName sourceDirectoryjava/sourceDirectory
!-- testSourceDirectorytest/testSourceDirectory --resources resource directoryjava/directory /resource /resources
!-- testResources --
!-- testResource --
!-- directorytest/directory --
!-- /testResource --
!-- /testResources --plugins plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-compiler-plugin/artifactId version2.0.2/version configuration encodingUTF-8/encoding source1.8/source target1.8/target /configuration /plugin /plugins /build dependencies dependency groupIdorg.easymock/groupId artifactIdeasymock/artifactId version3.5/version scopetest/scope /dependency dependency groupIdjunit/groupId artifactIdjunit/artifactId version4.12/version scopetest/scope /dependency dependency groupIdant/groupId artifactIdant/artifactId version1.7.0/version /dependency dependency groupIdwsdl4j/groupId artifactIdwsdl4j/artifactId version1.6.2/version /dependency dependency groupIdjavax.xml/groupId artifactIdjaxrpc/artifactId version1.1/version /dependency dependency groupIdorg.eclipse.jdt.core.compiler/groupId artifactIdecj/artifactId version4.6.1/version /dependency /dependencies
/project4.IDE导入项目文件
直接打开IDE。点击open 看清楚一定是导入的根目录同级pom.xml。这里我是做二次演示所以左面可以看到一些痕迹。
5.项目环境配置 - 程序入口
点击右上角配置栏添加applocation配置 配置项目入口前面的java版本无关紧要主要是中间的和后面的入口一定要找对。否则会出现模块无法加载的情况。
org.apache.catalina.startup.Bootstrap这里需要配置环境变量点击modify opiitions添加环境变量 将下面的配置复制进去
-Dcatalina.homecatalina-home
-Dcatalina.basecatalina-home
-Djava.io.tmpdircatalina-home/temp
-Djava.util.logging.managerorg.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.filecatalina-home/conf/logging.properties记得删除我们这里的test文件否则会引发编译错误 6.手动注册编译运行
tomcat8及之后的想要编译就需要手动加载org.apache.jasper.servlet.JasperInitializer以启动中间件的解析功能。
找到文件添加一行代码
context.addServletContainerInitializer(new JasperInitializer(), null);可以看到这样一行报错是因为我们没有导入对应的包引起的我们将鼠标停在上面altenter就可以自动导入相关模块解决依赖问题。 颜色变过来之后点击运行就可以成功访问tomcat中间件了。
http://127.0.0.1:8080/