手记

Tomcat源码导入Eclipse

一、Tomcat源码导入Eclipse

1.下载源代码

Tomcat7的源代码在SVN上,

http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_27


从该分支上将TOMCAT_7_0_27 Checkout.

注:这里是tag里面的,也可以下载别的branch,比如trunk,只考虑tag比较稳定

2.项目构建

查看Checkout的TOMCAT_7_0_27的目录,发现tomcat 7是用ant来构建和管理的。

打开build.xml文件,它copy了两个现成的文件到TOMCAT_7_0_27目录下。

  <!-- ============================ IDE Support ============================ -->
  <target name="ide-eclipse" depends="deploy, extras-webservices-prepare"
          description="Prepares the source tree to be built in Eclipse">
    <!-- Copy the sample project files into the root directory -->
    <copy file="${tomcat.home}/res/ide-support/eclipse/eclipse.project" tofile="${tomcat.home}/.project"/>
    <copy file="${tomcat.home}/res/ide-support/eclipse/eclipse.classpath" tofile="${tomcat.home}/.classpath"/>
    <echo>Eclipse project files created.
Read the Building page on the Apache Tomcat documentation site for details on how to configure your Eclipse workplace.</echo>
  </target>

在TOMCAT_7_0_27目录下执行使用 ant 命令

ant ide-eclipse

将其构建成Eclipse项目,可导入Eclipse。

3.导入Eclipse

将TOMCAT_7_0_27项目导入Eclipse, 发现报错

选择项目,右键选择Build Path>Configure Build Path

点击Add Variable...按钮,

点击Configure Variables…按钮,增加两个变量

ANT_HOME : 指向ant的安装目录

TOMCAT_LIBS_BASE : 指向依赖库的位置

将变量添加后,Eclipse重新编译,错误就没有了(我自己走到这里时仍然报错,后面会讲到)

3.运行

导入Eclipse并Build Path之后,项目已成功导入就可以运行了。

选择项目右键,选择Run As>Java Application, 它会自动搜索项目中的所有main函数,

选择org.apache.catalina.startup.Bootstrap,项目成功启动。

4.启动成功后打开下面网址

http://localhost:8080/

就可看到经典的欢迎页面

5、导入运行过程问题

1)导入后,Build Path时,引入依赖的jar时,TOMCAT_LIBS_BASE的目录的指向问题

在DOS命令窗口执行ant ide-eclipse命令时,可以看到其下载jar的目录

TOMCAT_LIBS_BASE : 指向的目录即是D:/usr/share/java

2)  JDK版本问题

打开项目的build.xml文件,可以看到

Tomcat 7使用1.6,这里就不要擅自改了,因为我自己当前使用的JDK8,我就想改成1.8,我自己尝试了下失败了。

这里不是说改就不行,没有再做尝试了,有兴趣的可以尝试下。

因为JDK版本问题,在整个过程中碰到问题,可供参考:

  • ant ide-eclipse时总是编译失败

    因为当前环境变量JAVA_HOME指向的是JDK8,之后调整到JDK6可以成功编译。

    这里提一下,当我调整环境变量时,总是不起作用一直指向原先的JDK8,很苦恼。后来在网上看到有人建议把Java Path变量放置在PATH的最前面,我试了下果然就可以了。

  • 项目构建成功导入Eclipse中,运行时启动正常,打开http://localhost:8080/总是报错

      当然也是JDK版本的问题导致,一开始百思不得其解,纠结了整整一个下午到下班,早上再去运行时,发现运行使用的是JDK8。

      之后去Run Configurations...调整JRE,将其调整为JDK6,但是只能调整为JDK8。突然意识到java compiler配置中 compiler compliance level 依然是1.8,然后项目右键把java compiler>compiler compliance level调整1.6。

       Eclipse重新编译,运行项目,就可以成功地打开那个经典欢迎页面

       总而言之,tomcat7使用JDK6,为此保证JDK版本一致。

二、Tomcat管理session

 

 

三、Tomcat中session的持久化

 


0人推荐
随时随地看视频
慕课网APP