编译tomcat

本文档介绍了如何编译Tomcat源码。首先,通过git克隆Tomcat 9的源码,然后确保本地安装了ant且版本高于1.9.5。接下来,在源码目录下运行ant命令进行编译。最后,尝试将Tomcat转换为Eclipse工程,但执行ant ide-eclipse时可能会遇到错误。
摘要由CSDN通过智能技术生成

1. 下载tomcat源码: git clone https://github.com/apache/tomcat  ,tomcat版本是9

2. 本地需要有ant服务, 且版本要求大于 1.9.5

3. 直接编译

   cd ${tomcat.source}

   ant

4. 编译成eclipse工程

  mv build.properties.default build.properties

   cd ${tomcat.source}

   ant ide-eclipse

执行 ant ide-eclipse 会报错:

[get] Error getting http://downloads.sourceforge.net/cglib/cglib-nodep-2.2.3.jar to /Users/mengxiansen/tomcat-build-libs/download-1519080988.tmp
tomcat/build.xml:2784: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target


产生这个错误的原因是编译tomcat时需要从 sourceforge.net 下载依赖包,协议用的是http,但是 sourceforge 目前已经改成了https 所以导致下载失败,提示是没有证书解决方案:(1)通过浏览器手动下载(2)在本地搭建apache或者nginx等web服务,将(1)中手动下载的包放到web服务器下(3)修改build.properties 中相应key的value, 如

#cglib.loc=${base-sf.loc}/cglib/cglib-nodep-${cglib.version}.jar
cglib.loc=http://localhost/cglib-nodep-2.2.3.jar

需要手动下载的有

http://downloads.sourceforge.net/easymock/easymock-3.2.zip
http://downloads.sourceforge.net/cglib/cglib-nodep-2.2.3.jar

5. 打开eclipse 新建一个workspace
打开Preferences 在  Java->Build Path->Classpath Variables 中新增两个环境变量
TOMCAT_LIBS_BASE 和 ANT_HOME
TOMCAT_LIBS_BASE 配置 build.properties 中的 base.path 的值,默认是 ${user.home}/tomcat-build-libs 这个目录下存储的是第4步执行 ant ide-eclipse 时候下载的依赖包
ANT_HOME 配置成第2步安装ant的目录即可
6. 导入项目
打开 File->Import 选择 Existing Projects into Workspace 将tomcat导入
7. 查看 Run->Run Configurations->Java Application
可以看到 start-tomcat 和 stop-tomcat已经导入
查看 Arguments->VM arguments 将

-Dcatalina.home=${project_loc:/tomcat-9.0.x/java/org/apache/catalina/startup/Bootstrap.java}/output/build
改为

-Dcatalina.home=${project_loc:/tomcat-9.0.x/java/org/apache/catalina/startup/Bootstrap.java}

去掉output/build
8. 启动tomcat
找到 org.apache.catalina.startup.Bootstrap 类,并运行
看到信息 
“信息: Server startup in 982 ms”
证明启动成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值