linux上tomcat安装一个简单的servlet服务,windows本地正确但是服务器上报错。

@[TOC]linux上tomcat安装一个简单的servlet服务,windows本地正确但是服务器上报错。

报错如下:
javax.servlet.ServletException: Error instantiating servlet class [com.test.test1] org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
等等
在这里插入图片描述

思路:

其实就是服务器上jdk版本和tomcat版本windows本地的冲突。

解决方案:

1.更新jdk
2.更新tomcat
3.配置jdk环境变量
4.配置tomcat一些信息

1:更新jdk

linux下直接把原来的jdk文件删了就行
下载一个jdk然后解压

2:更新tomcat

直接把原来的文件删了就行
下载一个tomcat然后解压

3:配置jdk环境变量

大佬:https://www.cnblogs.com/songxingzhu/p/7685317.html

export JAVA_HOME=!!!jdk路径
export JRE_HOME=!!!jre路径(jdk11以后没有jre则见第5条)
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport
export PATH=${JAVA_HOME}/bin:$PATH

4:配置tomcat一些信息

亲测,因为假如删除了原jdk后,直接执行./startup.sh,会报错:
neither JAVA_HOME nor JAVA_JRE
所以我大胆的只在tomcat的bin文件夹中的setclasspath.sh中加入了

#!/bin/sh

export JAVA_HOME=/usr/java/jdk11

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.

一条JAVA_HOME的配置就可以运行了,(并不需要加入jre,也不需要在catalina.sh中重复加一次相同的配置,因为实际上最后还是会一路到setclasspath.sh里的。

5:补充jdk11后加入jre:

大佬:https://www.cnblogs.com/xenny/p/11489812.html

bin/jlink --module-path jmods --add-modules java.desktop --output jre
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页