精华内容
下载资源
问答
  • 当一个项目在本地完成后,总要部署到服务器上供用户访问,为了学习部署过程,我将自己的小项目打成war包后进行部署,目前使用了两种部署方式,整个途中踩了一些坑,记录一下,以避免以后犯相同的错误。 docker部署 ...

    当一个项目在本地完成后,总要部署到服务器上供用户访问,为了学习部署过程,我将自己的小项目打成war包后进行部署,目前使用了两种部署方式,整个途中踩了一些坑,记录一下,以避免以后犯相同的错误。

    docker部署

    首先,安装好docker,这些步骤就不叙述了,在docker中运行tomcat容器,为了避免麻烦,我们一般会将容器的/usr/locat/tomcat/webapps与宿主机的目录进行挂载,(这里的挂载个人理解类似于连接,快捷方式之类,可以通过不同的入口操作相同的空间),基本命令也不说了,说最重要的几个。
    (1)查看镜像

    docker search tomcat
    

    在这里插入图片描述
    (2)拉取镜像,并查看镜像

    docker pull tomcat:8.5.50
    

    在这里插入图片描述
    (3)运行镜像,目录挂载

    docker run -d --name tomcat8081 -p 8081:8080
     -v /usr/local/tomcat8081/webapps/:/usr/local/tomcat/webapps b56d8850aed5
    
    
    

    在这里插入图片描述
    容器成功运行;
    然后把war包复制到/usr/local/tomcat8081/webapps/,浏览器访问服务器的对应项目路径就可以访问到啦。上传步骤就不详述了。
    在这里插入图片描述
    在这里插入图片描述
    说一下我在这个过程中踩到的坑,我之前Windows上一直使用的是tomcat8.0.50,一直没有问题,所以拉取的时候也是使用的这个版本,也习惯性的运行这个镜像,但是直接运行都能成功,也能访问到首页,但是一旦挂载了目录,容器虽然显示正在运行,但访问连个错误页面都没有,容器的/usr/local下也没有网上所说的webapp.dist目录,在这里卡了很久,后来实在没办法了,我就尝试用tomcat8.5.50的镜像,用同样的方式,同样的运行参数,就一切顺利,所以这里我猜测,应该是tomcat版本的问题,有相同问题的朋友注意一下。

    直接部署到服务器主机

    1、安装jdk

    (1) 卸载系统自带的OpenJDK以及相关的java文件
    查看系统是否自带JDK
    键入命令 java -version 结果如下
    在这里插入图片描述
    (2)查看相关java文件
    键入命令 rpm -qa | grep java
    (另一种做法是rpm -qa | grep jdk,然后下一步删除的是copy那个文件)

    在这里插入图片描述
    (3)删除相关文件。及带open的所有文件。例如

    rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
    rpm -e --nodeps java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
    

    (4)查看删除结果,此时命令javac、java -version等都不生效
    在这里插入图片描述
    (5)下载JDK,地址,根据自己的linux版本找到相应的压缩文件并下载,我的是centos64位的,选择如图在这里插入图片描述
    现在下载低于1.8版本的jdk需要登录,这篇文章https://blog.csdn.net/WNsshssm/article/details/84315519 给出了一个账号,亲测可用,账号2696671285@qq.com ,密码Oracle123。下载到本地的压缩文件,通过ftp上传到服务器上,然后输入命令键入命令tar -zxvf jdk-8u281-linux-x64.tar.gz,我的结果如图在这里插入图片描述
    (6)配置JDK环境变量
    键入命令 vim /etc/profile 修改配置文件,记得要在root权限下修改

    输入i进入编辑状态,然后将光标移到最后一行,粘贴如下内容,JAVA_HOME=/usr/local/jdk8/jdk1.8.0_281, 要根据自己的解压目录设置

    #java environment
    export JAVA_HOME=/usr/jdk1.8.0_211
    export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
    export PATH=$PATH:${JAVA_HOME}/bin
    

    在这里插入图片描述
    点击esc 进入命令模式 输入:wq! 保存修改信息

    然后键入命令source /etc/profile 使配置文件生效
    (7)到这一步,jdk安装完成,测试结果
    在这里插入图片描述

    2、安装tomcat

    (1)下载好需要安装的tomcat压缩包,我的是apache-tomcat-8.5.65,当时怎么找的忘记了,懒得百度的去网盘下
    链接
    提取码:ml25
    下载玩压缩文件后,同样上传到服务器并解压,解压命令同上,我的结果如下在这里插入图片描述
    (2)配置tomcat的环境变量和内存设置,进入tomcat的bin目录后通过vi命令打开catalina.sh文件,并在其中加入如下配置

    JAVA_OPTS="-Xms512m -Xmx1024m -Xss512m -XX:PermSize=512m -XX:MaxPermSize=1024m"
    export TOMCAT_HOME=/wocloud/tomcat_cluster/tomcat1/apache-tomcat-7.0.57
    export CATALINA_HOME=/wocloud/tomcat_cluster/tomcat1/apache-tomcat-7.0.57
    export JRE_HOME=/wocloud/java/jdk1.7.0_75/jre
    export JAVA_HOME=/wocloud/java/jdk1.7.0_75
    

    在这里插入图片描述

    在这里插入图片描述
    (3)接下来修改一下tomcat端口号,进入tomcat的conf目录下,修改server.xml文件,通过vi命令打开文件后直接输入/8080检索到端口号的位置,进入编辑模式后修改端口号为80,如下图所示:
    在这里插入图片描述
    (4)启动tomcat,切换到tomcat的bin目录输入启动命令:./startup.sh,顺便也说提一下停止命令是./shutdown.sh
    如果得到一下结果,就证明tomcat启动成功在这里插入图片描述
    就可以在浏览器输入ip访问到tomcat首页,如果是访问自己的项目,同样将war包复制到tomcat解压后的webapps里就可以了。
    当然,这个过程中海油端口等问题,我是直接将防火墙关了,为了避免以后遇到相同的问题,顺便记录一下
    查看被防火墙放行的端口

    firewall-cmd --permanent --zone=public --list-ports
    

    在这里插入图片描述
    如果80端口没有被放行,输入如下命令,出现" success" 则表示添加成功。
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    在这里插入图片描述

    出现警告是因为我之前就放行了。
    输入命令" firewall-cmd --reload" 重新启动防火墙,这一步不要忘记,出现” success“ 字样则表示重新启动成功。

    到这里基本完了,接下来记录坑。
    所有的步骤一切顺利,启动tomcat也得到如图的结果
    在这里插入图片描述
    按照其他人的博客也查看了很多tomcat的运行状态都没问题,浏览器访问的时候就是连错误页面都没有,跟docker部署的时候一样,后来查看了tomcat的/bin/catalina.sh

    JAVA_OPTS="-Xms512m -Xmx1024m -Xss512m -XX:PermSize=512m -XX:MaxPermSize=1024m"
    export TOMCAT_HOME=/wocloud/tomcat_cluster/tomcat1/apache-tomcat-7.0.57
    export CATALINA_HOME=/wocloud/tomcat_cluster/tomcat1/apache-tomcat-7.0.57
    export JRE_HOME=/wocloud/java/jdk1.7.0_75/jre
    export JAVA_HOME=/wocloud/java/jdk1.7.0_75
    

    第一次复制来的时候 -Xss1024k,搞改了之后重启就没问题了,难怪我第一次看的时候就感觉怪怪的。

    linux上安装软件可以使用宝塔面板可视化工具,同时可以管理linux主机,需要时取用

    展开全文
  • 1、需要先把SpringBoot自带的服务器卸掉执行如下代码 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <...

    1、需要先把SpringBoot自带的服务器卸掉执行如下代码

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-tomcat</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

    2、再导入tomcat依赖

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <!--打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。
                    相当于compile,但是打包阶段做了exclude操作-->
                <scope>provided</scope>
            </dependency>

    3、再去修改SpringBoot的启动类,使改类继承SpringBootServletInitializer类重写configure方法

    @SpringBootApplication
    public class PublicdocumentsApplication extends SpringBootServletInitializer {
    
        public static void main(String[] args) {
            SpringApplication.run(PublicdocumentsApplication.class, args);
        }
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(PublicdocumentsApplication.class);
        }
    }
    

    4、清理缓存,修改成war包,进行打包就可以

    5、将打出来的war包放到tomcat服务器apache-tomcat-9.0.20\webapps上即可

    6、再apache-tomcat-9.0.20\bin目录下的startup.bat启动tomcat,启动后再网页上进http://localhost:8080/看看是否能进去,可以进去之后,再访问自己项目的路径如:ip+端口号+项目名+项目跳转的网页或目录即可

    展开全文
  • 当我们使用springboot开发时,有的时候需要打war包在外部tomcat部署,方便运维人员维护,但是修改配置文件后重新打包给运维的时候,又需要修改一些配置这样还是不方便维护。 环境参数 开发环境:IntelliJ IDEA ...

    背景说明

    当我们使用springboot开发时,有的时候需要打war包在外部tomcat部署,方便运维人员维护,但是修改配置文件后重新打包给运维的时候,又需要修改一些配置这样还是不方便维护。

    环境参数

    开发环境:IntelliJ IDEA 2019.3
    JDK:java version "1.8.0_144"
    服务器:Linux CentOS7.2

     

    项目配置

    • 步骤一
      打开pom.xml查看打包方式(创建项目时选择的打包方式)

      如果是jar就先改成war

       

      步骤二

    • pom.xml添加一个dependency依赖(意思是tomcat是外部提供的)

       
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-tomcat</artifactId>
         <scope>provided</scope>
      </dependency>
      

      步骤三

    • 新建web.xml(添加过的也可以跳过这一步),新建的方式有两种,一种是直接创建文件夹和文件,另一种是通过IDEA来创建。这里选用第二种方法。

      首先点击右上角的一个文件夹图标(Project Structure)

       


      然后选择Modules,点击web(如果没有就点击左上角的加号新建一个),接着双击下方的Web Resource Directory中的第一项,这里是来设置webapp的路径,一般是自动设置好了的,直接点ok,然后点yes就好了。

       

       最后点击上面的加号新建web.xml

       

      这里要注意路径,要放到刚才创建的webapp文件夹内。点击ok,然后再点击ok,web.xml就创建好了。


       

    • 步骤四

     

    创建一个Initializer类继承自SpringBootServletInitializer,并重写configure方法且这个类应该与项目的Application在同一级目录下

     自定义配置类实现EnvironmentPostProcessor接口

    1. EnvironmentPostProcessor是springboot支持动态读取文件的接口,实现EnvironmentPostProcessor接口覆写postProcessEnvironment方法
    2. 在postProcessEnvironment方法实现读取外部配置文件
    3.  使用YamlPropertiesFactoryBean来读取yml配置文件,getObject()方法可以获取Properties

     

    Initializer类:

    package com.example.demo;
    
    import org.springframework.boot.builder.SpringApplicationBuilder;
    import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
    
    public class ServletInitializer extends SpringBootServletInitializer {
    
     @Override
     protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
                                     //Application的类名
         return application.sources(WardemoApplication.class);
     }
    
    }
    

    项目打包

    打包方式有两种,一直是使用命令行方式,另一种是通过maven来打包,同样的,这里采用较为简单的第二种方式。

    Maven Projects > 项目名 > Lifecycle > 双击package开始打包

    打包成功,默认war包路径在项目文件夹的target文件内

     

    打包时跳过测试

    在properties里面增加以下代码:

    <skipTests>true</skipTests> 

    项目部署

    把打包好的war包放到tomcatwebapps文件夹下,然后重启tomcat就可以了,tomcat会自动解压
    注意项目启动后访问路径会发生变化,如之前的访问路径是/hello,那么此时就得加上webapps下解压的那个项目文件夹的名字,即/项目文件名/hello

    查看日志

     日志文件默认的路径为:tomcat目录下的/logs/catalina.out文件中。

     

    注意事项

    打成war包之后,server.servlet.context-path,server.port失效

    可能还有一种没那么多事的办法,具体没有尝试

    (1)把静态文件从resource中移出来

    (2) yml文件指定静态资源的目录

    spring:
     
    #指定环境
    
        profiles:
     
            active: @package.environment@
     
    #打war时指定静态文件,没有效果
     
        resources:
     
            static-locations: /static/,/public/
     
        mvc:
     
            static-path-pattern: /** #静态资源映射路径            
    

      

     

    加载外部配置文件

    删除项目中原有resources文件夹下原有的application.properties文件,然后进行打包发布,如果有连接数据库,tomcat会报错,因为没有指定相应的数据库资源。

    1.在tomcat里的conf文件夹下添加进刚才删掉的application.properties文件

    2.项目中新建config包,在该包下建立MyEnvironmentPostProcessor类实现EnvironmentPostProcessor接口,代码如下

     

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.env.EnvironmentPostProcessor;
    import org.springframework.core.env.ConfigurableEnvironment;
    import org.springframework.core.env.MutablePropertySources;
    import org.springframework.core.env.PropertiesPropertySource;
    import org.springframework.core.io.FileSystemResource;
    import org.springframework.core.io.support.PropertiesLoaderUtils;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.Properties;
    public class MyEnvironmentPostProcessor implements EnvironmentPostProcessor {
        @Override
        public void postProcessEnvironment(ConfigurableEnvironment configurableEnvironment, SpringApplication application) {
            //tomcat路径
            String property = System.getProperty("catalina.home");
            System.out.println("catalinahome:"+property);
    
            String path =property+ File.separator+"conf"+File.separator+"application.properties";
            File file = new File(path);
            System.out.println("Loading local settings from : "+path);
    
            if (file.exists()) {
                MutablePropertySources propertySources = configurableEnvironment.getPropertySources();
                Properties properties = loadProperties(file);
                System.out.println(properties.toString());
                propertySources.addFirst(new PropertiesPropertySource("Config", properties));
            }
        }
    
        private Properties loadProperties(File f) {
            FileSystemResource resource = new FileSystemResource(f);
            try {
                return PropertiesLoaderUtils.loadProperties(resource);
            } catch (IOException ex) {
                throw new IllegalStateException("Failed to load local settings from " + f.getAbsolutePath(), ex);
            }
        }
    }

     

    3.在classpath定义一个META-INF文件夹然后在其下面先建spring.factories文件,在其中指定:

    MyEnvironmentPostProcessor路径根据自己的项目自行修改

     

    org.springframework.boot.env.EnvironmentPostProcessor=com.wyh.data_center.config.MyEnvironmentPostProcessor
    

      

    在pom.xml中配置maven打包时移除配置文件

     

     

    4.再一次打包发布就成功并没有报错了,从下图中我们也看到了获取了相应的数据库信息

     

     logback.xml配置文件丢到外面直接在.yml配置文件中配置好路径就可以了

     

     

     

    配置访问静态资源

    在web.xml文件添加下面的配置,就可以访问部署路径下的文件了,如localhost:8080/demo/index.js

        <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>*.html</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>*.jpg</url-pattern>
        </servlet-mapping>
    
        <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>*.js</url-pattern>
        </servlet-mapping>
    
        <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>*.css</url-pattern>
        </servlet-mapping>
    

      

     

     

     

     

    链接:https://www.jianshu.com/p/baf624064540
    https://www.jianshu.com/p/4f700110725e

    https://www.jianshu.com/p/4f700110725e

     https://blog.csdn.net/hzy522104212/article/details/97241374

     

    展开全文
  • 问题描述:后端项目开发工具是IntelliJ IDEA,运行...将war包到服务器的tomcat下报404错误问题分析:考虑操作系统的不同对程序的影响,本地和局域网都是在windows环境中,tomcat启动时,都能实时看到tomcat的日志信...

    问题描述:后端项目开发工具是IntelliJ IDEA,运行web项目,本地测试项目能够正常运行。将项目打包成war包之后放到本机的tomcat的webapps下报404,原因应该是版本太低,7版本和8版本有较大不同;将war包放到服务器的tomcat下报404错误

    问题分析:考虑操作系统的不同对程序的影响,本地和局域网都是在windows环境中,tomcat启动时,都能实时看到tomcat的日志信息,有什么问题一目了然。而服务器用的是centos7,linux操作系统,tomcat启动后,实时日志信息不能看到,也就不知道tomcat在启动过程中是否发生了错误,为了实时查看tomcat的日志信息,在重启tomcat后,打开日志文件。

    问题解决:

    报错的大概意思是不能注册MBean,解决的办法就是不注册,直接将jmx设置为false

    在linux系统,切换到tomcat的bin目录,依次键入

    ./shutdown.sh

    ./startup.sh

    重启tomcat,然后切换到tomcat的logs目录,键入

    tail -f catalina.out

    就可以实时查看tomcat的日志信息,日志信息比较多,不过错误信息也是很明显的,和用开发工具调试的时候碰到的报错信息类似,很容易发现。报错信息的开头,就是如下的一段。

    Unable to register MBean [HikariDataSource (null)] with key 'dataSource'; nested exception is javax.management.InstanceAlreadyExistsException: com.zaxxer.hikari:name=dataSource,type=HikariDataSource

    方法就是在配置文件application.properties中,进行如下设置

    spring.jmx.enabled=false

    重新生成war包,测试,页面能够正常打开,功能也都正常。

    问题经验:同样的war包,在windows环境中能够使用,到了linux环境中报错

    展开全文
  • war包部署到服务器后,如何直接访问,而不需要在地址后面加war包名 正常情况下,但我们把war部署到服务器上,访问地址是:服务器ID:端口/war包名 但是如果个人建站显然不适合以此方式. 方式一:修改服务器Tomcat的...
  • 原标题:详解将Web项目War包部署到Tomcat服务器基本步骤详解将Web项目War包部署到Tomcat服务器基本步骤1 War包War包一般是在进行Web开发时,通常是一个网站Project下的所有源码的集合,里面包含前台HTML/CSS/JS的...
  • 修改你打war包的名称二、修改主启动类,继承SpringBootServletInitializer三、在Maven中进行打包最后,推送Linux远程服务器上,并使用tomcat的端口访问即可 前言 在使用SpringBoot打jar包,内置的Tomcat部署到Linux...
  • Linux和Windows环境下,将war包部署到tomcat服务器一、部署单一项目以特定接口名称启动项目首先在Idea或Eclipse中将项目打成war包。然后将war包上传至tomcat文件夹中的webapps目录中。修改conf/server.xml配置文件。...
  • 参考来源: ... 1. 常识: 1.1 War包 ...War包一般是在进行Web开发时,通常是一个网站Project下的所有源码的集合,里面包含前台HTML/CSS/JS的代码,也包含Java的代码。...War包可以放在Tomcat下的web.
  • 什么是war包WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将很多文件组合成一个压缩文件。war专用在web方面,一个war包可以理解为一个web项目,里面是项目的所有东西。二. 安装jdk由于...
  • 说明:Spring Boot由于内嵌了如Tomcat,Jetty和Undertow这样的容器,也...Spring Boot部署服务器上主要分为两种方式:一是打成jar包发布,二是打成war包发布,第一种方式只需要在该服务器中运行java -jar+部署项...
  • 第三步 直接跑一下看是否打包成功 第四步 备份在服务器上(一定记得备份在服务器上,圣诞节喊你要备份的事没忘吧), 上传上去后,关掉之前在跑的,然后再重新跑 ps -ef|grep learning 查看进程 kill 21345 杀死 ...
  • 报错:java.lang.NoSuchMethodError: org.json.JSONObject....在服务器上运行不好使,是imprt第一个下的路径,因而报找不的问题。 解决方式:将路径冲突的从maven当中排出去,此时服务器上的运行也不报冲突了
  • 一、本地工程测试完成导出war包 二、阿里云服务器配置 在部署war包前,放行tomcat 8080,mysql 3306端口 2.服务器安装MySQL、Tomcat mysql和tomcat版本保持与本地测试工程...三、部署war包到本地服务器 1、将 war 包
  • 今天我将war包部署到tomcat时,遇到了访问不项目的问题。主要还是我对开发环境以及发布tomcat环境的配置的误解 我将开发时的端口号以及访问路径认为部署tomcat也是一样的配置。然而不然 如何部署以及配置 ...
  • maven工程打成war包 在项目文件夹/target/下可以找到 *.war 文件 将war文件部署到tomcat 通过xftp工具将war包复制webapps下,然后进行通过ip+端口+项目名进行访问
  • 一、前言怎样把已经开发的spring cloud 项目进行打包部署,其实过程和spring boot 的是一样的。经过摸索之后,才发现其实spring cloud 的每个Project 可以直接打成jar运行,因为里面自带了tomcat容器。这也是...
  • war包部署服务器启动前提准备工作: 服务器安装配置项 -JDK、Tomcat 本地搭建好的工程 使用eclipse打包工程: 在eclipse中创建好一个工程,具体目录如下(每个工程目录都各有不同) 注意工程要打成war包,需要在...
  • 但当项目需要集群部署或者进行优化时,就需要打成war包部署到外部的Tomcat服务器中。 一、修改pom.xml文件将默认的jar方式改为war: <groupId>server</groupId> <artifactId>...
  • war包部署至Ubuntu服务器1、准备war包1.1 打包1.2 传输至Ubuntu服务器2、部署2.1 解压缩2.2 启动Tomcat3、查看结果 Ubuntu服务器Tomcat安装配置等,请看这篇:Ubuntu18.04命令行模式服务器安装tomcat9.0 1、准备war...
  • java.lang.IllegalArgumentException: Document base F:\apache-tomcat-7.0.82\webapps\XXX错误 项目发布到服务器上面的时候,没有删除tomcat-7.0.82–>conf–>Catalina–>localhost下面的文件,关闭重启就搞定
  • 将spring boot项目部署到服务器 一、在idea中将spring boot项目打包 默认打jar包,需要配置pom.xml文件来更改打包类型 <!--修改默认打包类型,为:war包--> <packaging>war</packaging> 修改...
  • 【转】Ubuntu 10.04 LTS 的窗口控制按钮从左上角调整角 原文网址:http://www.linuxidc.com/Linux/2010-05/26111.htm 升级Ubuntu 10.04后最大的问题,是最小最大和关闭按钮,放了左边.这叫Ubuntu ... (简单...
  • 把spring-boot项目按照平常的web项目一样发布tomcat容器下,当然不可能永远都在你的编辑器运行了,在编辑中运行是因为Spring boot 集成了Tomcat,下面我们要发布我们自己的Tomcat一、在pom.xml里设置war二、移除...
  • idea怎么把war包部署到别的服务器1. idea 怎么打war包部署到tomcat先找到软件如图所示的图标,打开Project Structure.2【配置project】这里需要注意四个地方。1.项目名称,可以随便起。2.New一个jdk的安装路径。3....
  • 如何把jar包部署到服务器上

    千次阅读 2021-01-15 11:21:21
    Jar包不同于War包,War需要部署tomcat下,然后启动tomcat服务之后才可以使用,而Jar包完全不需要放tomcat下,只需要安装Java及配置环境变量后,通过命令即可以启动,那么如何把Jar包部署到服务器上,小编介绍...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 63,395
精华内容 25,358
关键字:

war包部署到服务器上

友情链接: javabook.rar