springboot+maven+idea打包及部署到tomcat服务器(腾讯云)

说明:我项目使用的是JDK1.8+springboot内置tomcat,腾讯云服务器为window系列。已经尝试过打包成功且部署到服务器上。

如果你的版本和我的不一样,那么不能保证一定成功。

打包前注意:

     (1)第一步,首先保证你的项目本机上是可以跑起来运行的。

     (2)关于项目中关联的一些数据库,和绝对路径的配置,确保在服务器中能够连接得上以及路径能够访问。

     (3)服务器中的tomcat要求9.0版本,别的版本会报错,原因我会在下面讲。

     (4)项目开发时JDK用什么版本服务器就用什么版本。

        确保以上4点,是我们部署成功的关键。

开始步骤:

1、在pom.xml中如果要打war包,必须加上该行代码。

<packaging>war</packaging>

如下图所示:

 

2、pom.xml中继续加入以下代码:该代码用于spring boot中内嵌的tomcat包依赖排除,不然会产生冲突。

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

具体位置如下图:

3、pom.xml中继续加入以下依赖:该代码用于开发时使用spring boot内嵌tomcat进行调试,生产时使用外部tomcat

scope里的provided意思是只用于开发及测试阶段。

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

具体位置如下图:

4、找到项目中的application 然后让该类继承SpringBootServletInitializer,然后重写configure方法

    @Override
     protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(你项目的apprication类名.class);
    }

如下图所示:

到这里,目前项目中需要打包配置的步骤已经完成,接下来进行打包

1、点击idea右边的maven-》你的项目名-》Lifecycle-》双击package

点击运行控制台会打印打包的过程信息,主要看最后是不是显示成功。如果成功,说明前面步骤没问题。

如果失败了,那么请再次检查上面的步骤以及注意的事项。

2、如下图打开target,打好的包就在该目录下,名称为项目名-0.0.1-SNAPSHOT.war,首先把名字改一下,改成ROOT.war,

改名字为ROOT主要是不用打项目名,在服务器上测试直接可以localhost加端口号加你的项目登录路径就能打开系统页面。

我们祭出ctrl+c,ctrl+v大法把该war包放到桌面,再移动到腾讯云服务器的tomcat中去。

包已经打好,那么我们接下来到服务器的tomcat中操作

  首先一定要确保tomcat可以正常启动

1、将war包移动到腾讯云服务器tomcat目录下的webapps中,不需要解压,不需要任何操作。

      如果webapps目录中有ROOT文件夹,删除即可。

2、启动tomcat

现在解释为什么一定要tomcat9.0版本,因为我们的war包中默认打的tomcat的lib包为9.0版本

如果我们尝试放在tomcat别的版本上,启动tomcat控制台就会报各种异常。

如图所示:

按道理是可以改版本的,但是由于太懒,所以没去找解决方案。。。

最后跑完看一下控制台,看看是否有报错,然后在服务器的本地上进行测试吧。

如果改名字为ROOT.war,在服务器上测试直接可以localhost+端口号+你的项目登录路径就能打开系统页面。

如:localhost:8080/sys/login

如果没改名字,还是原来项目名.war,在服务器上测试直接可以localhost+端口号+你的项目名+登录路径就能打开系统页面。

如:localhost:8080/项目名/sys/login

 

如果你们服务器上测试也没问题了,那么就要公网测试了,这个就不多说了,服务器能跑起来公网的问题其实注意两点就行

1、腾讯云注意安全组开放端口,这里建议开放80端口的那个选项,然后把该服务器添加到安全组中,之后把tomcat的端口改成80。

2、安全组开放了之后有可能还不能公网访问,那么就是防火墙的问题了,把防火墙关闭即可。

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值