使用IntelliJ IDEA  搭建Tomcat9.0项目

 

准备条件:

 

下载源码

这里我们下载的Tomcat的源码版本是9.0.12。

下载地址:

https://tomcat.apache.org/download-90.cgi

安装JDK1.8

下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

安装Ant 1.9.8或更新版本

地址:https://ant.apache.org/bindownload.cgi

安装完成后需配置环境变量(ANT_HOME,PATH)

至此,基本配置已完成,下一步导入源码,这里我们使用的IntelliJ IDEA .

Tomcat项目搭建

首先使用Idea打开Tomcat源码目录File->Open...  完成后如下。

之后对项目进行配置:

选中项目根目录 点选Project Structure

选择Project选项 配置JDK 如下:JDK1.8

之后在项目根目录下新建lib目录。

并放入如下jar文件,这些jar文件可在网上直接下载,或者读者电脑下有maven库的话直接找看看放进来就可以。

随后在Project Structure下按+ 按钮选择java 找到对应的lib目录即可。

接着需要指定输出目录,和Source文件,不然源码打开后会报错,也无法运行test目 录下的测试用例。**这一部很重要**

接着修改 build.properties 下 base.path属性值,这里可以指定一个临时目录的位置,用于编译源码时下载tomcat的依赖包

base.path=E:/temp/tomcat-build-libs

至此环境基本配置完成。

构建Tomcat

打开命令提示符 定位到 Tomcat项目的根目录下。 直接 ant 开始构建。

最终在根目录下生成编译后的tomcat。这时会发现生成的目录和文件和我们使用的tomcat目录架构是一样的。至此Tomcat源码构建完成,读者可以直接运行测试用例了。

参考

https://tomcat.apache.org/tomcat-9.0-doc/building.html

Tomcat9.0环境搭建与源码编译的更多相关文章

  1. centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装

    centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装 安装前请检查好erlang和rabbitmq版本是否相匹配参考:RabbitMQ Erlang V ...

  2. centos7.6环境zabbix3.2源码编译安装版升级到zabbix4.0长期支持版

    zabbix3.2源码编译安装版升级到zabbix4.0长期支持版 项目需求: .2版本不再支持,想升级成4.0的长期支持版 环境介绍: zabbix服务端是编译安装的,数据库和web在一台机器上 整 ...

  3. HAProxy与LVS综合----搭建LNMP源码编译结合HAProxy或LVS负载均衡

    实战一:实现LNMP与Keepalived.HAProxy做反向代理 框架图: 实现原理: 1.当A用户访问网站时,此时需要经过防火墙,防火墙将用户访问的IP地址处理后,如果允许访问,则就访问到HAr ...

  4. TensorFlow Python2.7环境下的源码编译(三)编译

    一.源代码编译 这里要为仅支持 CPU 的 TensorFlow 构建一个 pip 软件包,需要调用以下命令: $ bazel build --cxxopt="-D_GLIBCXX_USE_ ...

  5. LAMP 环境搭建之源码包编译安装

    mysql用的二进制包安装. Apache php 用的源码包 mysql版本5.5.46    Apache版本2.4.7  PHP版本:5.5 mysql安装部分参考了阿铭linux的内容. 这是 ...

  6. Spring1:Spring简介、环境搭建、源码下载及导入MyEclipse

    框架学习前言 这个模块是面向Spring的,Spring的学习我是这么想的: 1.简单介绍Spring,主要是从网上借鉴一些重点 2.尽量说明清楚Spring的使用方法以及细节点 3.尽量以自己的理解 ...

  7. windows环境中hbase源码编译遇到的问题

    转载请注明出处 问题一 [ERROR] Failed to execute goal org.codehaus.mojo:findbugs-maven-plugin:3.0.0:findbugs (d ...

  8. Linux环境下levelDB源码编译与安装

    1.下载源码并编译 git clone https://github.com/google/leveldb.git cd leveldb //编译源码的时候需要安装cmake,并且版本需要大于3.9, ...

  9. qt-5.6.0 移植之qt源码编译

    其实这只是给自己看的一个configure选项笔记,没有太多的东西. 首先: 下载qt5.6的源码: 地址: http://download.qt.io/archive/qt/5.6/ 下载完解压: ...

随机推荐

  1. WinForm企业级框架实战项目演练

    一.课程介绍 我们都知道在软件架构方式分为:C/S和B/S两类.这里阿笨不谈论两种软件架构的优劣之分,因为它们各有千秋,用于不同场合.一位伟大的讲师曾经说过一句话:事物存在即合理!录制这堂课程的目的就 ...

  2. wpf APlayer 播放

    效果图: 进入 迅雷开发者中心 下载最新SDK与解码库 注:解压最新SDK,运行install.bat. 解压完美解码库将codecs文件拷贝到项目Debug下 源码地址 :链接:https://pa ...

  3. Spring AOP 源码分析系列文章导读

    1. 简介 前一段时间,我学习了 Spring IOC 容器方面的源码,并写了数篇文章对此进行讲解.在写完 Spring IOC 容器源码分析系列文章中的最后一篇后,没敢懈怠,趁热打铁,花了3天时间阅 ...

  4. Shell - 简明Shell入门05 - 条件语句(Case)

    示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一个参数赋值给变量var case $var in right) echo "Right!";; wrong) ...

  5. 初印象至Vue路由

    初印象系列为快速了解一门技术的内容,后续会推出本人应用这门技术时发现的一些认识. Vue路由和传统路由的区别: Vue路由主要是用来实现单页面应用内各个组件之间的切换,同样支持传递参数等功能.而传统路 ...

  6. 从官网下载指定版本的JDK

    从官网下载指定版本的JDK 一.百度搜索jdk,进入最新版Downloads界面 百度搜索jdk,或者jdk下载,点击进入jdk官网最新版本下载界面,可以看到当前最新版本为jdk12 二.找到JDK历 ...

  7. Unity C# .Net List 优化点

    Unity C# .Net List 优化点 已知长度 则初始化指定长度 调用多次Remove会导致内存浪费 调用TrimExcess释放多余内存 List代码实现原理 使用数组保存泛型数据 代码 L ...

  8. Unity 代码编译成dll 更新dll实现热更代码

    Unity 代码编译成dll 更新dll实现热更代码 实现流程 代码编译成DLL DLL打包成AssetBundle 加载AssetBundle 加载代码程序集 获取指定类 使用反射赋值 C#代码编译 ...

  9. 【并发】2、AtomicReferenceFieldUpdater初体验

    对于volatile对象的原子更新 AtomicReferenceFieldUpdater这个对象进行原子更新的时候,外部操作对象只能是public,因为外部访问不到private对象,但是在内内部确 ...

  10. flask_mail发送邮件(附源码)

    文章介绍如何用flask_mail发送QQ邮件,发送其它邮箱简单的更改相应配置即可 传送门:源代码 源代码地址:https://github.com/1417766861/flask_mail 首先展 ...