如题,这里记录一下用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直接打开项目,而是用导入功能:

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

删除所有的类似这段代码,这个是检测虚拟机版本的,没啥用。

他大爷的,要烂尾了,记得把编译好的tomcat中的lib  jar包也放到catalina-home目录下啊,惨痛的历史教训哦哦

IDEA导入tomcat9源码跑起来~的更多相关文章

  1. IDEA 导入 Tomcat9 源码

    源码下载(Source Code Distributions)地址:https://tomcat.apache.org/download-90.cgi tomcat 和 servlet 以及 jdk ...

  2. 探秘Tomcat(一)——Myeclipse中导入Tomcat源码

    前言:有的时候自己不知道自己是井底之蛙,这并没有什么可怕的,因为你只要蜷缩在方寸之间的井里,无数次的生活轨迹无非最终归结还是一个圆形:但是可怕的是有一天你不得不从井里跳出来生活,需要重新审视井以外的生 ...

  3. Eclipse导入Hadoop源码项目及编写Hadoop程序

    一 Eclipse导入Hadoop源码项目 基本步骤: 1)在Eclipse新建一个java项目[hadoop-1.2.1] 2)将Hadoop压缩包解压目录src下的core,hdfs,mapred ...

  4. 关于导入geoserver 源码到Eclipse编译运行

    参考http://blog.csdn.net/gisshixisheng/article/details/43016443 和  http://blog.sina.com.cn/s/blog_6e37 ...

  5. spring源码学习(一):eclipse导入spring源码

    前言 对于一门技术,我们最先是了解它(what),然后再熟练的使用它(how)以及何时用它(when),最后肯定要看透它(why).spring作为Java开发人员可以说是最熟悉不过的了,基本每个Ja ...

  6. eclipse导入Java源码

    eclipse导入Java源码 下载源码包(一般jdk都自带了, 我的没有) src.zip eclipse -> window -> preferences -> JAVA -&g ...

  7. Hadoop1.x目录结构及Eclipse导入Hadoop源码项目

    这是解压hadoop后,hadoop-1.2.1目录 各目录结构及说明: Eclipse导入Hadoop源码项目: 注意:如果没有ant的包可以去网上下,不是hadoop里面的. 然后如果通过以上还报 ...

  8. idea 导入spring 源码注意的问题

    问题:idea导入spring 源码的步骤是: 首先从官网下载spring的源码:git clone https://github.com/spring-projects/spring-framewo ...

  9. 导入android源码中的APP源码到eclipse

    导入android源码中的APP源码到eclipse 一般最简单的办法就是创建新的android工程,选择create project from existing source选项,直接导入源码就OK ...

随机推荐

  1. SPOJ 3267 DQUERY - D-query (主席树)(区间数的种数)

    DQUERY - D-query #sorting #tree English Vietnamese Given a sequence of n numbers a1, a2, ..., an and ...

  2. 六. 异常处理9.finally块

    当异常被抛出,通常方法的执行将作一个陡峭的非线性的转向.依赖于方法是怎样编码的,异常甚至可以导致方法过早返回.这在一些方法中是一个问题.例如,如果一个方法打开一个文件项并关闭,然后退出,你不希望关闭文 ...

  3. Handler嵌套--可以

    package com.example.handlernestdemo; import android.support.v7.app.ActionBarActivity; import android ...

  4. 阿里云ECS在CentOS 6.9中使用Nginx提示:nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)的解决方法

    说明: 1.[::]:80这个是IPv6的地址. 2.阿里云截至到今天还不支持IPv6. 解决方式: 1.普通解决方式:开启IPv6的支持,不过这个方法在阿里云行不通. vim /etc/nginx/ ...

  5. tshop-pbsm-shop-nav-ch结构和样式分析

    html结构 <div id="content" class="eshop head-expand tb-shop"> <div id=&qu ...

  6. The newly created daemon process has a different context than expected

    Error: The newly created daemon process has a different context than expected. It won't be possible ...

  7. MBT简述:基于模型的测试

    参考: 1.http://blog.csdn.net/TMQ1225/article/details/53940828 2.http://tmq.qq.com/2016/12/graphwalker/ ...

  8. DotnetBrowser高级教程-(4)使用MVC框架3-文件上传

    网站有时候需要上传文件,本节以上传一张图片为例,在UserController.cs里添加如下代码: public string UploadImgPage() { return "< ...

  9. 关于iframe的高度自适应问题(js)

    function SetCwinHeight() { var cwin=document.getElementById("cwin"); if (document.getEleme ...

  10. java 通过流的方式读取本地图片并显示在jsp 页面上(类型以jpg、png等结尾的图片)

    Java代码: File filePic = new File(path+"1-ab1.png"); if(filePic.exists()){ FileInputStream i ...