精华内容
下载资源
问答
  • 1.Maven常见的打包方式有:jar、war、pom pom工程一般都是父工程,管理jar包的版本、maven插件的版本、统一的依赖管理,是一个聚合工程。 jar工程,很显然就是pom工程的子工程,由pom工程来管理。 war工程,是web...

    1.Maven常见的打包方式有:jar、war、pom

              pom工程一般都是父工程,管理jar包的版本、maven插件的版本、统一的依赖管理,是一个聚合工程。

              jar工程,很显然就是pom工程的子工程,由pom工程来管理。

              war工程,是web工程,可以直接放到tomcat下运行的工程。


    在进行项目,开发之前,我们可以配置自己Maven本地仓库的位置:

    1.Window---->Refrences"  

    2点击"User Settings(open file)"后面的Browse,选择我们的maven安装包下的settings.xml文件,在setting.xml中,我们可以指定本地仓库的位置,

    <localRepository>自己的responsitory的位置</localRepository>

    下面的"Local Repository"会自动显示我们自己创建的maven仓库地址,我们点击"Apply"和"OK"。这就配置好了本地仓库,经过本地镜像的配置,maven的下载速度将会是百倍的提升。


    2.新建taotao-parent ,taotao-common,taotao-manage(...),taotao-manage-web

      我们在taotao-parent的pom.xml文件统一管理整个淘淘商城项目的j依赖的jar包的版本,<dependencyManagement>只管理版本,不实际依赖。<dependency>才实际依赖。

        我们来给taotao-common工程的pom.xml文件添加依赖,common顾名思义,就是大家都会调用的,像公共组件。我们从taotao-parent工程中复制公共组件的依赖到taotao-common的pom.xml文件当中,taotao-common的pom.xml文件的内容如下,由于taotao-parent工程中定义了定义版本号,因此我们在taotao-common工程中不用定义组件的版本了。保存后,maven会自动下载相关依赖。

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
      <modelVersion>4.0.0</modelVersion>  
      <parent>  
        <groupId>com.taotao</groupId>  
        <artifactId>taotao-parent</artifactId>  
        <version>0.0.1-SNAPSHOT</version>  
      </parent>  
      <groupId>com.taotao</groupId>  
      <artifactId>taotao-common</artifactId>  
      <version>0.0.1-SNAPSHOT</version>  
        
      <dependencies>  
            <!-- 时间操作组件 -->  
            <dependency>  
                <groupId>joda-time</groupId>  
                <artifactId>joda-time</artifactId>  
            </dependency>  
            <!-- Apache工具组件 -->  
            <dependency>  
                <groupId>org.apache.commons</groupId>  
                <artifactId>commons-lang3</artifactId>  
            </dependency>  
            <dependency>  
                <groupId>org.apache.commons</groupId>  
                <artifactId>commons-io</artifactId>  
            </dependency>  
            <dependency>  
                <groupId>commons-net</groupId>  
                <artifactId>commons-net</artifactId>  
            </dependency>  
            <!-- Jackson Json处理工具包 -->  
            <dependency>  
                <groupId>com.fasterxml.jackson.core</groupId>  
                <artifactId>jackson-databind</artifactId>  
            </dependency>  
            <!-- httpclient -->  
            <dependency>  
                <groupId>org.apache.httpcomponents</groupId>  
                <artifactId>httpclient</artifactId>  
            </dependency>  
            <!-- quartz任务调度框架 -->  
            <dependency>  
                <groupId>org.quartz-scheduler</groupId>  
                <artifactId>quartz</artifactId>  
            </dependency>  
            <!-- 单元测试 -->  
            <dependency>  
                <groupId>junit</groupId>  
                <artifactId>junit</artifactId>  
                <scope>test</scope>  
            </dependency>  
            <!-- 日志处理 -->  
            <dependency>  
                <groupId>org.slf4j</groupId>  
                <artifactId>slf4j-log4j12</artifactId>  
            </dependency>  
      </dependencies>  
    </project>  

            接着新建taotao-manager聚合工程,我们在taotao-manager的pom.xml文件中添加对taotao-common的依赖。再分别新建taotao-manager-pojo,taotao-manager-dao,taotao-manager-interface,taotao-manager-service等工程。

            我们打开taoatao-manager-dao模块的pom.xml文件,并在其中添加对taotao-manager-pojo的依赖,另外由于dao层需要Mybatis、Mysql、分页、连接池的包,因此我们在pom.xml文件中添加对这些的依赖。

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
      <modelVersion>4.0.0</modelVersion>  
      <parent>  
        <groupId>com.taotao</groupId>  
        <artifactId>taotao-manager</artifactId>  
        <version>0.0.1-SNAPSHOT</version>  
      </parent>  
      <artifactId>taotao-manager-dao</artifactId>  
      <dependencies>  
        <dependency>  
            <groupId>com.taotao</groupId>  
            <artifactId>taotao-manager-pojo</artifactId>  
            <version>0.0.1-SNAPSHOT</version>  
        </dependency>  
        <!-- Mybatis -->  
        <dependency>  
            <groupId>org.mybatis</groupId>  
            <artifactId>mybatis</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>org.mybatis</groupId>  
            <artifactId>mybatis-spring</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>com.github.miemiedev</groupId>  
            <artifactId>mybatis-paginator</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>com.github.pagehelper</groupId>  
            <artifactId>pagehelper</artifactId>  
        </dependency>  
        <!-- MySql -->  
        <dependency>  
            <groupId>mysql</groupId>  
            <artifactId>mysql-connector-java</artifactId>  
        </dependency>  
        <!-- 连接池 -->  
        <dependency>  
            <groupId>com.alibaba</groupId>  
            <artifactId>druid</artifactId>  
        </dependency>  
      </dependencies>  
    </project>  

            同样的,我们打开taoatao-manager-interface模块的pom.xml文件,并在其中添加对taotao-manager-pojo的依赖,

            我们来创建taotao-manager-service模块,该模块是个war工程,既然taotao-manager工程是个聚合工程,可以聚合无数个模块,但是总归要靠一个war工程来将所有的模块聚合起来,因此我们才需要新建一个war工程,将来用于部署使用。下面我们来创建这个web.xml文件,如下图所示。因为是web工程,必须在web-app下新建WEB-INF,在WEB-INF下新建web-xml.


            添加完web.xml文件之后,工程便不报错了,现在我们开始添加service的依赖。我们知道,服务层肯定要调用dao层,因此我们需要依赖taotao-common-dao,除此之外,服务层还要用spring,因此需要添加spring的包。taotao-manager-service的pom.xml文件的内容如下:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
      <modelVersion>4.0.0</modelVersion>  
      <parent>  
        <groupId>com.taotao</groupId>  
        <artifactId>taotao-manager</artifactId>  
        <version>0.0.1-SNAPSHOT</version>  
      </parent>  
      <artifactId>taotao-manager-service</artifactId>  
      <packaging>war</packaging>  
        
      <dependencies>  
        <dependency>  
            <groupId>com.taotao</groupId>  
            <artifactId>taotao-manager-dao</artifactId>  
            <version>0.0.1-SNAPSHOT</version>  
        </dependency>  
        <!-- Spring -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-context</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-beans</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-webmvc</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-jdbc</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-aspects</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-jms</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-context-support</artifactId>  
        </dependency>  
      </dependencies>  
    </project>  

     搭建完了taotao-manager服务工程,下面我们来搭建taotao-manager-web表现层工程。新建的web工程由于缺少web.xml文件而报错,解决方法是在webapp目录下新建WEB-INF目录,并在该目录下新建web.xml文件。下面我们来配置pom.xml文件的依赖,表现层需要spring相关组件,taotao-common,并且需要jsp。pom.xml文件的内容如下:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
      <modelVersion>4.0.0</modelVersion>  
      <parent>  
        <groupId>com.taotao</groupId>  
        <artifactId>taotao-parent</artifactId>  
        <version>0.0.1-SNAPSHOT</version>  
      </parent>  
      <groupId>com.taotao</groupId>  
      <artifactId>taotao-manager-web</artifactId>  
      <version>0.0.1-SNAPSHOT</version>  
      <packaging>war</packaging>  
        
      <dependencies>  
        <!-- 依赖taotao-common -->  
        <dependency>  
            <groupId>com.taotao</groupId>  
            <artifactId>taotao-common</artifactId>  
            <version>0.0.1-SNAPSHOT</version>  
        </dependency>  
        <!-- Spring -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-context</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-beans</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-webmvc</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-jdbc</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-aspects</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-jms</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-context-support</artifactId>  
        </dependency>  
        <!-- JSP相关 -->  
        <dependency>  
            <groupId>jstl</groupId>  
            <artifactId>jstl</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>javax.servlet</groupId>  
            <artifactId>servlet-api</artifactId>  
            <scope>provided</scope>  
        </dependency>  
        <dependency>  
            <groupId>javax.servlet</groupId>  
            <artifactId>jsp-api</artifactId>  
            <scope>provided</scope>  
        </dependency>  
      </dependencies>  
    </project>   
    工程新建完成。这个工程的构建要搞懂他们之间的依赖关系。
    展开全文
  • 问题背景 实际开发过程中,如果用maven管理jar包,在pom文件中加入...经查找发现pom文件中并未直接引用tomcat的jar包,并且这3个jar包在工程里也没有用。所以就考虑直接忽略这些jar包。 那么如何找到pom中,依赖包中

    问题背景

    实际开发过程中,如果用maven管理jar包,在pom文件中加入某个依赖时,可能会导入该包的许多子jar包。有时候这些jar包不需要,那么如何找到jar包之间的关系,又如何解耦jar包“子父”之间的关系呢?

    问题描述

    这几天开发过程中,有3个与tomcat的jar包,由于公司私服上没有对应版本的jar包,所以下载不了,导致报错

    经查找发现pom文件中并未直接引用tomcat的jar包,并且这3个jar包在工程里也没有用。所以就考虑直接忽略这些jar包。

    那么如何找到pom中,依赖包中依赖了tomcat的相关包呢?

    IDEA自带了maven依赖的工具:用IDEA打开项目,右上角--maven--选中自己的项目--点击下图框3的图标(show Dependencies)。

    点击以后,显示出整个项目的jar包依赖关系图。点击该图片后,直接ctrl+f 搜索:tomcat,点击相应的jar后,即可定位到相应的jar包。

    比如点击上图中的tomcat-embed-core ,即可定位到如下图的依赖关系:

    双击选中的依赖关系,即可进入到该依赖的GAV坐标。

    根据GAV坐标,往上滚动鼠标,可找到其上一级的GAV。

    然后根据找到的artifactId,去工程的pom文件里找,即可定位,是哪个依赖引用了该tomcat的jar包。 

    如何解耦jar包“子父”之间的关系?

    通过exclusions解决,即:
     

    <exclusions>
        <!-- 去掉springboot的tomcat配置 -->
        <exclusion>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-core</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-el</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-websocket</artifactId>
        </exclusion>
    </exclusions>

     

    展开全文
  • 工程是javaEE的,基于maven管理依赖,开发工具是eclipse和tomcat工程怎么搞都启动出错,最后发现是该工程的web.xml中定义了自己的defaultservlet和jspservlet。 而tomcat启动的时候,会首先读取conf/web....

    Tomcat的结构和对请求的处理


     1.  问题

    起因是装开发环境。

    工程是javaEE的,基于maven管理依赖,开发工具是eclipsetomcat

    工程怎么搞都启动出错,最后发现是该工程的web.xml中定义了自己的defaultservletjspservlet

    tomcat启动的时候,会首先读取conf/web.xml下的定义,两者之间肯定要有一个被comment掉。

    tomcat玩了这么多年,有必要把东西理一遍。

     

    2.    Tomcat的大结构

    tomcat启动之后,将作为一个运行于JVM上的进程存在。

     

    tomcat从层次上,最外围是server本身。

    然后server里可以有多个service。每个service可以监听几个不同的端口号。

    接下来,每个service里有多个connector。不同的connector监听不同的端口好,使用不同的通信协议。多个connector连接同一个containercontainer管辖多个webapp

    所有的这一切都定义在server.xml中。

    1. <!—最高节点 8005端口是shudown shell用端口号-->  
    2. <Server port="8005" shutdown="SHUTDOWN">  
    3. //JNDI全局资源  
    4. <GlobalNamingResources>  
    5. //service,可以有多个  
    6. <Service name="Catalina">  
    7. //connector 我们一般都是用8080端口的http请求  
    8. <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>  
    9. //每个connector都可以定义自己的线程池  
    10. <Connector executor="tomcatThreadPool"  
    11.                port="8080" protocol="HTTP/1.1"   
    12.                connectionTimeout="20000"   
    13.                redirectPort="8443" />  
    14. //处理请求的容器  
    15. <Engine defaultHost="localhost" name="Catalina">  
    16. //cluster配置  
    17. <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>  
    18. //虚拟主机,可以定义多个虚拟主机。比如www.aaa.com,www.bbb.com,全部映射到同一个容器中。(用于实现SSO)  
    19. <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">  
    20. //具体的context,用来指明webapp的路径  
    21. <Context docBase="xxx" path="/xxx" reloadable="true" source="xxx"/>  


     

    作为tomcat的启动而言,一般来说

        根据conf/server.xml启动所有必要组建

        加载conf/web.xml中所有配置

        依次加载所有webapp中的web.xml

     

    3.    Tomcat中请求的处理

    假设来自客户的请求为:http://www.xxx.com/test/index.jsp

    a.     请求被发送到该物理机器的默认端口80,被在那里侦听的Coyote HTTP/1.1 Connector获得 (没有考虑apache)

    b.     Connector封装http请求,并且从线程池中唤醒一个线程,将任务调度给该线程

    1. 被唤醒线程在Engine中寻找www.xxx.com匹配的虚拟主机
    2. 被找到的Host获得请求/test/index.jsp,匹配它所拥有的所有Context
    3. Host匹配到路径为/test的Context(如果匹配不到就把该请求交给路径名为""的Context去处理)
    4. path="/test"的Context获得请求/index.jsp
    5. Context开始解析http请求,首先由filter处理,再次交给servlet

    现行的Web框架都是由filter拦截

    顺便提一下,这也就是为什么很多人说servlet不是线程安全的。

    1. Context把执行完了之后的HttpServletResponse对象返回给Host
    2. Host把HttpServletResponse对象返回给Engine
    3. Engine把HttpServletResponse对象返回给Connector
    4. Connector把HttpServletResponse对象返回给客户browser
    5. 线程重回wait状态
    展开全文
  • Maven

    2017-08-24 12:02:28
    1、独立搭建Maven的运行环境 ...2、独立配置工程之间依赖 3、独立配置工程之间依赖继承 4、独立配置工程之间依赖聚合 5、使用Maven的install命令完成安装 6、使用maven的tomcat插件启动工程

    1、独立搭建Maven的运行环境

    2、独立配置工程之间的依赖

    3、独立配置工程之间的依赖继承

    4、独立配置工程之间的依赖聚合

    5、使用Maven的install命令完成安装

    6、使用maven的tomcat插件启动工程

    展开全文
  • 开发工具:IDEA,虚拟机 VMware Workstation 预备工作:安装好zookeeper的虚拟机,电脑jdk更换为1.7,本地...1.首先打包父工程wk-parent,把需要的公共依赖导入,供其他项目依赖 2.打包pojo项目wk-pojo,实...
  • 在maven工程中引入jsp-api的jar包时,若将它的依赖范围设置为&lt;scope&gt;compile&lt;/scope&gt;,当运行时,会出现java.lang.NullPointerException异常。这是因为该jar包的依赖范围为compile,...
  • SSM整合配置文件

    2018-10-26 20:04:03
    1.建工程导坐标 ... 在web层导入service依赖 service层导入dao层依赖 并在service层导入tomcat7插件(…) 4.在web层配置配置文件 4.1配置applicationContext.xml核心配置文件 注解扫描的包名啥的一定不...
  • 新建一个maven web 工程后,在webapp目录下面创建jsp文件项目会报错,原因是因为项目没有依赖javax.servlet相关类包,这些类包在tomcat类库中(我使用的是tomcat)。 解决办法: 在pom.xml配置文件中添加上...
  • maven学习笔记

    2020-12-13 19:26:19
    maven自身集成了tomcat插件,可以对项目进行编译、测试、打包、安装、发布等操作 安装 仓库依赖关系 仓库种类 本地仓库 远程仓库【私服】 中央仓库 仓库之间的关系 启动maven工程的时候,maven工程会...
  • 运行环境: jdk8+tomcat8.5+mysql 项目技术: Servlet+JSP+jdbc+bootstrap+jquery+js ...将这个工程转换成了Maven工程,让它去自动寻找jar包之间依赖,也可以直接导入jar包,jar包如下: 项目截图:...
  • 在项目开发中Maven可以对jar包和对工程之间依赖关系进行管理,集成tomcat插 件,maven项目可以自动发布到tomcat下。 maven仓库中存储jar包,可以一次下载,所有项目通用。 Maven下载: 下载地址:...
  • maven基础知识

    2020-11-19 09:57:56
    maven基础知识maven是什么仓库的种类仓库之间的关系maven常用命令maven生命周期maven项目导入jar包的版本冲突第一声明优先原则路径近者优先原则直接排除法maven工程拆分聚合思想工程和模块的区别 maven是什么 maven...
  • Spring深入理解

    2020-08-27 16:19:55
    spring ioc,spring容器,根据xml配置,或者是你的注解,去实例化bean对象,根据xml配置或者注解,对bean对象之间的引用关系,去进行依赖注入。 spring ioc底层实现的核心技术是反射,他会通过反射的技术,直接根据...
  • 2.每一个工程都可以打成jar包独立部署,其中内置Tomcat。 3.强大的场景启动器,摆脱了各个jar包之间版本不兼容的问题。 4.maven一定要配置好,便于下载jar包。 搭建环境 1.搭建有两种方式 (1)手动创建Maven工程 ...
  • JavaEE Maven

    2019-06-02 11:11:16
    Maven初级 Maven全新的项目构建方式,一款服务于java平台的自动化构建工具。 Maven主要做两件事情 1. 一键构建:统一开发规范与工具,自身集成了Tomcat的插件...仓库之间的关系:当我们启动一个maven工程时,mave...
  • B)管理工程之间依赖关系。 3.2. Maven本地仓库 在当前系统用户的文件夹下。例如当前用户是Administrator那么本地仓库就是在 C:\Users\Administrator\.m2目录下。 只需要用老师提供的.m2覆盖本地的就可以。 ...
  • ThreadLocal通常用来共享数据,当你想在多个方法中使用某个变量,这个变量是当前线程的状态,其它线程不依赖这个变量,你第一时间想到的就是把变量定义在方法内部,然后再方法之间传递参数来使用,这个方法能解决...
  • Java面试宝典2010版

    2011-06-27 09:48:27
    18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 19、Jdo是什么? 20、什么是spring的IOC AOP 21、STRUTS的工作流程! 22、spring 与EJB...
  • 最新Java面试宝典pdf版

    热门讨论 2011-08-31 11:29:22
    18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 125 19、Jdo是什么? 125 20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、...
  • 第06节、Maven创建分模块工程 第06节、Maven打包原理 资料+源码.rar 0015-蚂蚁课堂(每特学院)-2期-DNS解析过程&Servlet;源码分析&外网映射工具&Cookie;与Session实现原理 第01节、javase与javaee区别 第02节、web...
  • 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 125 19、Jdo是什么? 125 20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、...
  • FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
  • 中文 | English Great Java project on Github(Github 上非常棒的 Java 开源项目). 大家都知道 Github 是一个程序员福地,这里有各种厉害的开源框架、软件或者教程。这些东西对于我们学习和进步有着莫大的进步,...
  • Maven依赖: 在pom.xml中指定dependency,可用版本有1.0、1.1、1.2、1.3、1.3.1: <dependencies> <dependency> <groupId>org.apdplat</groupId> <artifactId>word</...
  • Java 面试宝典

    2013-02-01 10:02:08
    二者之间有什么区别? ......................................................................................................................................... 24 34、String 和 StringBuffer 的区别 .....

空空如也

空空如也

1 2
收藏数 30
精华内容 12
关键字:

tomcat工程之间依赖