服务器中的tomcat能正常启动,但项目无法加载的问题

问题描述如下:

在IDEA中创建的项目,代码编写完成后,可以通过IDEA直接启动tomcat运行,运行成功。

将项目打成war包,拖到tomcat安装目录的webapps目录下,直接通过startup.bat启动tomcat,访问响应资源,运行成功。

将war包发送到linux系统的服务器中,通过服务器中的tomcat来启动。问题来了:

tomcat能正常启动,可以跳转到启动成功的页面。

服务器中的tomcat能正常启动,但项目无法加载的问题_第1张图片

但是只要加上项目路径,就会报404

服务器中的tomcat能正常启动,但项目无法加载的问题_第2张图片

总的来说问题就是在本地能运行的项目,放到服务器中就加载不了,网上搜索相关解决方案。

在各路论坛、社区翻关于这类问题的解决方法。

发现这个问题很多人都遇到过,但是问题产生的原因却是千奇百怪,因此不能指望有万能的解决方法。

但是其中有好几位dalao都提到了一个非常重要的思路:查看日志!

打开tomcat安装目录下的logs文件夹,查看catalina.xxx.log和localhost.xxx.log,发现报错信息:

has been compiled by a more recent version of the Java Runtime (class file version 53.0),this version of the Java Runtime only recognizes class file versions up to 52.0

文件的运行版本高了,当前的运行环境解析不了。

我在windows中装的是jdk1.9,而服务器中装的jdk1.8,因此就出现项目在本地能正常发布,但是在服务器中就加载不了的情况。

知道原因就好解决了,既然jdk1.9写的代码在jre1.8中解析不了,那么用1.8来编译就好了。

在pom.xml中,添加一项属性:


  UTF-8
  1.8
  1.8

或者直接添加tomcat插件


    
        
            org.apache.tomcat.maven
            tomcat7-maven-plugin
            2.2
            
                8900
                /
                UTF-8
                tomcat7
            
        
        
            org.apache.maven.plugins
            maven-compiler-plugin
            
                1.8
                1.8
                UTF-8
            
        
    

配置加载完成后,再重新将项目打包,上传到服务器部署,加载成功!问题解决!

总结:

同样症状的问题,导致的原因可能千奇百怪,不能指望有万能的解决方案!

出现问题不要乱,首先要做的是看日志!查找可能导致错误的原因,这样才会有一个大体方向,再顺着这个方向去排查。

能找出错的原因,问题就已经解决了一大半。

你可能感兴趣的:(tomcat)