SpringBoot打成war包部署到liunx上的服务器(Tomcat为例)上出现调用命令查看日志没有错误信息但是就是无法运行的情况

本文讲述了作者在将Spring Boot应用部署到Linux服务器时遇到的问题,重点在于JDK版本不匹配导致的类解析错误。通过调整本地和服务器的JDK版本,排除内嵌Tomcat并正确配置POM文件,最终解决了部署问题。

昨天打包war包 部署到liunxTomcat服务器上 死活就是运行不了

只是出现SLF4J日志信息 但是不连接zookper也没有dubbo信息,我起初怀疑是因为打的war包方式有问题但是百度了好多种都无法执行

搞了一天晚上回去的时候 问了搞运维的前辈 他跟我说一句你本地环境和liunx环境是否相同?

瞬间我就想到了JDK的问题 我打包的是JDK11 但是实际上liunx却是1.8 我尝试着打出war包环境是1.8

<properties>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
    <maven.compiler.source>8</maven.compiler.source>
    <maven.compiler.target>8</maven.compiler.target>

</properties>

在POM文件里面这样搞了以后发现部署之后 显示dubbo信息了 但是还是包解析类错误 beanFactory出错之类的

最后我尝试着修改linuxJDK环境下载了11解压之后先删除之前的然后替换成我自己的11版本

下图是我打包用到的信息有图有复制

 

红圈里的是需要新增的信息 

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

<skipTests>true</skipTests>这个标签便是打包跳过测试

启动类继承然后重写这个方法

 

最后liunx启动服务器

完美解决问题

 

 

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值