【Tomcat与网络7】亲测有效—如何用idea运行Tomcat9的代码

前面我们看了很多理论,但是总感觉少了什么?少了什么呢?亲手搞一下Tomcat源码,至少要将源码运行起来玩玩吧。今天我们就来看一下如何在idea中运行Tomcat源码。

目录

1.下载源码 

2.增加pom文件

3.idea导入Tomcat源码


1.下载源码 

Apache Tomcat® - Welcome! 这里下载

然后在左侧有版本栏:

【Tomcat与网络7】亲测有效—如何用idea运行Tomcat9的代码_第1张图片

可以看到这里Tomcat已经进化到11了,我们还是先研究一下经典版本的9吧,有时候如果着急使用使用最新发布的版本往往会被迫升级JDK等等,太麻烦了,不想折腾这些。

然后进来之后看到如下内容

【Tomcat与网络7】亲测有效—如何用idea运行Tomcat9的代码_第2张图片

这里上策是二进制文件,也就是jar包,复制到工程里是可以直接运行的,我们要下的是下侧的source code,两种格式都可以,下载就行了。

2.增加pom文件

Tomcat里有些依赖的文件是不完整的,我们如果想用idea来编译,需要手动增加一个pom.xml文件,内容如下:




    4.0.0
    org.apache.tomcat
    Tomcat9.0.55
    Tomcat9.0.55
    c

    
        Tomcat9.0.55
        java
        
        
            
                java
            
        
        
            
                test
            
        
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.6.1
                
                    UTF-8
                    1.8
                    1.8
                
            
        
    

    
      
        junit
        junit
        4.12
        test
      
      
        org.easymock
        easymock
        4.0.2
        test
      
      
        org.apache.ant
        ant
        1.10.8
      
      
        wsdl4j
        wsdl4j
        1.6.2
      
      
        javax.xml
        jaxrpc
        1.1
      

      
        org.eclipse.jdt.core.compiler
        ecj
        4.6.1
      
      
        biz.aQute.bnd
        biz.aQute.bndlib
        5.1.1
      

      
        com.unboundid
        unboundid-ldapsdk
        4.0.13
        test
      

    

然后就可以使用 mvn clean install 来执行一下看看,正常情况下应该将所有的文件都下载下来,并且没有问题才对。

如果出错,说明你的mvn需要配置一下,使用阿里云代理就可以了,如果你的mvn的settings.xml已经配置了公司的,不想改,怕乱了,可以这么做,先创建一个新目录,例如outside/,然后在里面创建settings.xml,然后编译的时候这么写就可以了:

mvn clean install --settings ~/.m2/outside/settings.xml

注意上面将settings.xml地址改成你设置的,我的是mac电脑,所以地址可以用上面这个样子。

然后settings.xml中的文件是这样的:




    
    ${user.home}/.m2/repository
  
    
    
    

    
    
        
            releases
            deployment
            He2019
        
        
            snapshots
            deployment
            He2019
        
    
    
    
    
        
            alimaven
            aliyun maven
            
            http://maven.aliyun.com/nexus/content/groups/public/
            central
        
    

    
    
    
        
        
            jdk1.8
            
                true
                1.8
            
            
                UTF-8
                1.8
                1.8
                1.8
            
        

        
        
        
            dev
            
                
                    nexus
                    http://nexus.hepengju.cn:8081/nexus/content/groups/public/
                    
                        true
                    
                    
                        true
                    
                
            
            
                
                    public
                    Public Repositories
                    http://nexus.hepengju.cn:8081/nexus/content/groups/public/
                
            
        
        
        
        
            ali
            
                
                    alimaven
                    aliyun maven
                    http://maven.aliyun.com/nexus/content/groups/public/
                    
                        true
                    
                    
                        true
                    
                
            
            
                
                    alimaven
                    aliyun maven
                    http://maven.aliyun.com/nexus/content/groups/public/
                
            
        

    
    
     
    
        jdk1.8
        dev
        ali
    

这个也是花了很多时间测试出来。

之后就可以继续执行mvn,直到成功。

3.idea导入Tomcat源码

不同版本的idea操作略有不同,但是基本策略都是file->New Project->Import from existing Project,将我们的Tomcat源码导入。

导入之后要打开run->edit configrations,这里我发现idea已经自动导入了一些配置,如下:

【Tomcat与网络7】亲测有效—如何用idea运行Tomcat9的代码_第3张图片

网上看说这里要增加配置,但是貌似牛逼的idea自动都导入过来了,不用配置了。

然后就可以执行了吗?原则上是的,但是有时候执行会出问题,这时候就需要我们仔细看一下输入的日志提示什么了。我的提示里有这么两行:

Tomcat默认使用的端口号是8080,这个很容易被其他服务占用,我的第一反应是端口号被占用了,所以打开server.xml文件,找到下面这地方:

    

将8080改成8030,然后点启动来执行就好了。

此时出现这个信息,基本就是启动成功了:

【Tomcat与网络7】亲测有效—如何用idea运行Tomcat9的代码_第4张图片

然后打开浏览器输入http://localhost:8030/

然后就看到了熟悉的界面:

【Tomcat与网络7】亲测有效—如何用idea运行Tomcat9的代码_第5张图片

搞定了

你可能感兴趣的:(一个项目征服Java,HTTP与Tomcat,tomcat,intellij-idea,java)