IDEA导入tomcat9源码跑起来~
如题,这里记录一下用IDEA导入tomcat9的源码,并跑起来。看了本教程你还是不会的话直接问我。
一、环境安装以及目录搭建
tomcat9源码下载地址:http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.1/src/apache-tomcat-9.0.1-src.zip
还有你的安装jdk1.8+,maven以及IDEA,现在假设你把这些都装好了。
在你常用的项目放置目录(我的是my_project)下建立一个目录(tomcat9_src),这个目录是maven项目的父目录,然后再,然后在tomcat9_src下建立一个catalina-home的目录,将tomcat的源文件压缩包解压到tomcat9_src中,并将解压的源文件中的如下目录:

复制到catalina-home目录下。
完成这些步骤之后的目录样子大概是这样的。

删除源码中的test文件夹,因为它会引用webapps中的一个类,而这个类又不在源码中,因此编译肯定失败,听我的。

现在就是要在tomcat9_src下加一个主pom.xml,然后再apache-tomcat-9.0.1-src下加一个模块pom.xml。
加完了pom之后,不用要用IDEA直接打开项目,而是用导入功能:




- -Dcatalina.home=catalina-home -Dcatalina.base=catalina-home
- -Djava.endorsed.dirs=catalina-home/endorsed -Djava.io.tmpdir=catalina-home/temp
- -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
- -Djava.util.logging.config.file=catalina-home/conf/logging.properties


删除所有的类似这段代码,这个是检测虚拟机版本的,没啥用。
他大爷的,要烂尾了,记得把编译好的tomcat中的lib jar包也放到catalina-home目录下啊,惨痛的历史教训哦哦
IDEA导入tomcat9源码跑起来~的更多相关文章
- IDEA 导入 Tomcat9 源码
源码下载(Source Code Distributions)地址:https://tomcat.apache.org/download-90.cgi tomcat 和 servlet 以及 jdk ...
- 探秘Tomcat(一)——Myeclipse中导入Tomcat源码
前言:有的时候自己不知道自己是井底之蛙,这并没有什么可怕的,因为你只要蜷缩在方寸之间的井里,无数次的生活轨迹无非最终归结还是一个圆形:但是可怕的是有一天你不得不从井里跳出来生活,需要重新审视井以外的生 ...
- Eclipse导入Hadoop源码项目及编写Hadoop程序
一 Eclipse导入Hadoop源码项目 基本步骤: 1)在Eclipse新建一个java项目[hadoop-1.2.1] 2)将Hadoop压缩包解压目录src下的core,hdfs,mapred ...
- 关于导入geoserver 源码到Eclipse编译运行
参考http://blog.csdn.net/gisshixisheng/article/details/43016443 和 http://blog.sina.com.cn/s/blog_6e37 ...
- spring源码学习(一):eclipse导入spring源码
前言 对于一门技术,我们最先是了解它(what),然后再熟练的使用它(how)以及何时用它(when),最后肯定要看透它(why).spring作为Java开发人员可以说是最熟悉不过的了,基本每个Ja ...
- eclipse导入Java源码
eclipse导入Java源码 下载源码包(一般jdk都自带了, 我的没有) src.zip eclipse -> window -> preferences -> JAVA -&g ...
- Hadoop1.x目录结构及Eclipse导入Hadoop源码项目
这是解压hadoop后,hadoop-1.2.1目录 各目录结构及说明: Eclipse导入Hadoop源码项目: 注意:如果没有ant的包可以去网上下,不是hadoop里面的. 然后如果通过以上还报 ...
- idea 导入spring 源码注意的问题
问题:idea导入spring 源码的步骤是: 首先从官网下载spring的源码:git clone https://github.com/spring-projects/spring-framewo ...
- 导入android源码中的APP源码到eclipse
导入android源码中的APP源码到eclipse 一般最简单的办法就是创建新的android工程,选择create project from existing source选项,直接导入源码就OK ...
随机推荐
- 洛谷——P1595 信封问题
P1595 信封问题 题目描述 某人写了n封信和n个信封,如果所有的信都装错了信封.求所有信都装错信封共有多少种不同情况. 输入输出格式 输入格式: 一个信封数n(n<=20) 输出格式: 一个 ...
- (寒假集训)Reordering the Cows
Reordering the Cows 时间限制: 1 Sec 内存限制: 64 MB提交: 18 解决: 7[提交][状态][讨论版] 题目描述 Farmer John's N cows (1 ...
- JSON 中的 key
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript(Standard ECMA-262 ...
- 【bzoj3687】【简单题】bitset
[pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=64333782 这次的图是自己画的,方便的话点个赞 ...
- C语言中<CR>是什么意思
在文本处理中, CR, LF, CR/LF是不同操作系统上使用的换行符.Dos和windows采用回车+换行CR/LF表示下一行, 而UNIX/Linux采用换行符LF表示下一行,苹果机(MAC OS ...
- 开源 ≠ 免费,开源协议License详解
凡是做过软件开发的,都会接触到开源软件或开源组件,它们都会基于某种协议来提供源码和授权,那么这些开源协议到底有哪些约束呢? 在介绍之前,必须告诉大家,针对开源协议,必须打消“开源 = 免费”这个念头, ...
- js延时函数setTimeout
实现一个延时执行的效果,现记录如下: <html> <head> <script type="text/javascript" src="/ ...
- kubernetes监控--Prometheus
本文基于kubernetes 1.5.2版本编写 kube-state-metrics kubectl create ns monitoring kubectl create sa -n monito ...
- [置顶]
kubernetes资源对象--ResourceQuotas
概念 Resource Quotas(资源配额,简称quota)是对namespace进行资源配额,限制资源使用的一种策略. K8S是一个多用户架构,当多用户或者团队共享一个K8S系统时,SA使用qu ...
- 设计模式之过滤器模式(php实现)
/** * github地址:https://github.com/ZQCard/design_pattern * 过滤器模式(Filter Pattern)或标准模式(Criteria Patter ...