先展示一下错误,把项目部署到tomcat运行

出错原因

简单来说,就是执行代码的jdk版本 低于 编译的jdk版本

最后面的52.0是一种叫什么魔码,有各自对应的jdk版本。

其中52.0 对应的就是 jdk1.8版本。

解决办法

1)把编译的jdk版本降低:参考https://blog.csdn.net/qq_36769100/article/details/78880341

2)把执行代码的jdk版本提高:

我们错误是把项目放到tomcat中,运行时出错的,说明tomcat依赖的jdk版本太低了

所以我们把jdk换成较高版本:参考https://www.cnblogs.com/teach/p/6086867.html

tomcat之一:指定tomcat运行时JDK版本

tomcat作为日常开发的web应用服务器,给开发测试带来了很多便利,tomcat的运行依赖JDK的支持,在安装JDK时经常会配置环境变量:JAVA_HOME、CLASSPAT,且需要添加path变量。把应用部署到tomcat下时大多数不需要修改运行环境,但是有时候需要修改JDK的版本,从可以修改tomcat运行时的JDK版本,我们可以知道使用tomcat时不时必须要配置JDK环境变量,因为我们可以通过修改tomcat的文件,指定tomcat运行时的JDK版本。

下面说明如何修改tomcat运行时JDK版本

windows

1、解压下载的tomcat;

2、找到bin下的setclasspath.bat文件;在文件的开始出添加如下代码:

set JAVA_HOME=D:\Program Files\Java\jdk7\jdk1..0_51
set JRE_HOME=D:\Program Files\Java\jdk7\jre7

上面的意思是设定JAVA_HOME和JRE_HOME的路径;

通过这里我们可以看出可以不设置JDK的环境变量;

linux

在bin下找到setclasspath.sh,在文件的最开始加入如下代码:

set JAVA_HOME=/home/jdk/Java\jdk7\jdk1..0_51
set JRE_HOME=/home/jdk/Java\jdk7\jre7

修改了setclasspath文件之后,tomcat在启动时便使用设定的JDK。

但是为什么这样设置之后就可以呢?

我们都知道启动tomcat可以通过运行bin下的startup.bat,startup.bat会调用catalina.bat文件,而catalina.bat会调用setclasspath.bat文件来获取JAVA_HOME和JRE_HOME这两个环境变量的值,因此若要在tomcat启动时指向特定的JDK,则需在setclasspath.bat文件的开头处加上JAVA_HOME和JRE_HOME。

基于上面的运行方式,还有第二种修改方式,如下:

1、修改tomcat/bin/catalina.bat,增加 set JAVA_HOME=D:\Program Files\Java\jdk7\jdk1.7.0_51

2、修改tomcat/bin/setclasspath.bat,同样增加

set JAVA_HOME=D:\Program Files\Java\jdk7\jdk1.7.0_51

set JRE_HOME=D:\Program Files\Java\jdk7\jre7

这两种方式使用任何一种都可以实现修改tomcat的依赖JDK环境,同时可以不配置JDK的环境变量。

项目部署到tomcat出错(tomcat运行时的JDK版本)的更多相关文章

  1. Eclipse学习总结(02)-动态项目部署到到本地Tomcat

    一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并 ...

  2. eclipse配置项目部署到到本地tomcat

    一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并 ...

  3. [项目部署] CentOs7 安装 MySQL/Tomcat/JDK 笔记

    0.安装 MySQL cd /usr/local/ # 新增yum源 rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-.no ...

  4. 对Tomcat启动或运行时,项目对jar包依赖路径的一些粗浅认知

    Tomcat在运行webapp项目的时候,需要各种依赖jar包.它会从2个地方去找这些包 1.Tomcat自己的lib目录中 2.webapp目录下,webapps\{项目}\WEB-INF\lib ...

  5. SpringBoot项目 部署到服务器的tomcat下

    把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一.修改pom文件 修改打包方式 修改或增加maven插件 注意: 二.移除嵌入式tomcat插件 三.添加servlet ...

  6. 【Linux】将javaweb项目部署到CentOS的tomcat上

    1.将项目打包成war包 build之后war文件就生成了. 2.拷贝war文件到CentOS的tomcat的项目文件夹中 用WinSCP将文件粘帖进这个文件夹中 /wocloud/tomcat_cl ...

  7. 将Maven的Web项目部署到windows的Tomcat里

    这里我用的是win7和tomcat8,且tomcat8下载的是压缩包而非安装文件. 第一步:先将tomcat8安装服务,cmd里更改目录为tomcat8(即压缩包解压后的那个文件夹)的bin文件夹, ...

  8. 将springboot项目部署到服务器的tomcat中无法访问

    第一步:让启动类继承SpringBootServletInitializer,并重写configure方法,关键代码如下 @SpringBootApplication public class MyS ...

  9. [转]tomcat之一:指定tomcat运行时JDK版本

    今天在做项目的时候,主管让我在本机上启动多个tomcat且指定不同的jdk环境.因为在企业的项目中个,对于同一个服务器中有多个jdk和tomcat,所以就需要手动指定不同的jdk. 在网上找了很多资料 ...

随机推荐

  1. 学习笔记——WCF

    学了一下WCF,发现怎么跟Web Service这么像! 这个WCF究竟干嘛的? 一查,原来: "Windows Communication Foundation (WCF) 是由微软发展的 ...

  2. 修复nexus4由于使用完美刷机或者刷机精灵导致的底层文件受损

    前一段nexus4升级android 4.4.4的时候突然发现无法使用线刷刷入官方镜像了.当时就感觉很奇怪,但是不知道怎么搞得刷进去了,但是第一次开机的时候总是卡在联网之后的验证(我当时以为是网络不好 ...

  3. word2vec和word embedding有什么区别?

    word2vec和word embedding有什么区别? 我知道这两个都能将词向量化,但有什么区别?这两个术语的中文是什么? from: https://www.zhihu.com/question ...

  4. hdu 2586(Tarjan 离线算法)

    How far away ?                                                                             Time Limi ...

  5. 【BZOJ 2252】 矩阵距离

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2252 [算法] 将所有是”1“的点入队,然后广度优先搜索,即可 [代码] #incl ...

  6. Y - Anton and Letters

    Problem description Recently, Anton has found a set. The set consists of small English letters. Anto ...

  7. sleep()和wait()的区别

    1 sleep()方法,我们首先要知道该方法是属于Thread类中的.而wait()方法,则是属于Object类中的. 2 Thread.sleep和Object.wait都会暂停当前的线程,对于CP ...

  8. MySQL定期执行任务相关问题

    在sqlyog某数据库下的事件里新建事件,并写入一下代码: DELIMITER $$ ALTER DEFINER=`root`@`%` EVENT `0` ON SCHEDULE EVERY 24 H ...

  9. Android java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader......couldn't find "libweibosdkcore.so

    java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/ ...

  10. Centos7.5 在桌面创建AndroidStudio快捷方式

    Centos7 在桌面创建AndroidStudio快捷方式 前言 最近安装了Centos7,打算将开发平台转移到Linux下,安装好AndroidStudio后,桌面没有快捷方式有些不习惯,随自己创 ...