怎么在不同版本的Tomcat上运行同一个项目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在不同版本的Tomcat上运行同一个项目相关的知识,希望对你有一定的参考价值。

我在网上下载了一个jsp web 项目 用的tomcat版本是5.5
可是我的tomcat版本是6.0 然后我想运行却怎么也不行 eclipse非要tomcat5.5
请问有什么办法可以解决吗 ???
神小忘应该说的不错 我是从网上直接下载的项目,不知道在哪里改这些东西,呵呵,我是初学者,能不能说详细点

参考技术A a.
进入tomcat安装目录中的bin目录。
这个文件目录中有catalina.bat,以及version.bat文件。
b.
在文件目录地址栏中输入cmd命令。
c.
在命令命令提示符中输入"catalina
version"
或者“version”。便可以查到当前的版本号。
参考技术B 把6.0卸了 重新装下5.5呀 反正也不大 参考技术C 肯定是你库文件没有弄全,否则一定没问题!
仔细看看数据库驱动、连接池等!本回答被提问者和网友采纳
参考技术D eclipse里面可以改tomcat版本的 第5个回答  2009-03-27 应该不是tomcat的问题,估计是你下载的那个web项目有问题,把错误贴出来看看

Tomcat新手问题

最近两天又一次安装了Tomcat,遇到了许多问题,在这里总结一下,至于安装步骤,百度经验上和CSDN等博客上的许多文章都介绍得很详细,这里就不多介绍了。新手上场,有任何问题还希望大家评论指正!

本问题

Tomcat是Java项目主要使用的服务器之一,但是两者不同的版本之间有兼容问题,如果不兼容的话,开始运行startup.bat时会闪退,在后续也有很多问题。一般来说Tomcat的版本要比JDK的版本要高,因为JDK是需要在Tomcat上运行的,具体的版本对应情况如下所示:

tomcat v7.0-------support-------->Java EE 5 and 6 tomcat v8.0-------support-------->Java EE 5,6 and 7 tomcat v8.5-------support-------->Java EE 5,6 and 7 tomcat v9.0-------support-------->Java EE 5,6,7 and 8

二、startup.bat闪退问题

如果在点击startup.bat多次,都是突然闪现一个黑框然后消失,在这种情况下,我们很难得知我们究竟遇到什么问题,所以编辑该文件,在最后加上一行 pause ,这样就可以看到文件中记录的问题,然后逐一解决。

三、乱码问题

在没有闪退问题之后,我们就需要看控制台(黑框)中的信息来一一排除错误了。但是如果出现乱码问题就会影响我们的检查。我们可以在conf目录下的logging.properties中ConsoleHandler这一行中的encoding设置改成GBK,就可以使控制台中的字码正常显示了。这是因为我们计算机中使用的默认编码是GBK,配置文件中是UTF-8,不一致就会产生乱码。

Tomcat新手问题


配置文件中需改的编码


Tomcat新手问题


正常显示的控制台


把这个encoding改好后,我们就可以开始检查其中的问题了。但是后续在IDEA或者其他编译器中配置Tomcat时,仍然会出现乱码问题。详情见某大佬博客Tomcat Server,Catalina Log,Localhost Log中文乱码问题

四、常见的几种报错

主要原因可能有如下几种:

1.环境变量配置错误。检测JAVAHOME与CATALINAHOME是否配置好。本人使用的版本是JDK12和Tomcat9.0,JDK12中并没有JRE文件夹,需要自己生成,我没有配置JRE_HOME,但仍能继续使用,可能这个不是必要的,具体还是需要看文件中的一些错误信息。

那如何解决JRE目录问题呢?可以在JDK的bin目录下使用命令行输入:在jdk目录下输入  binjlink.exe --module-path jmods --add-modules java.desktop --output jre

注:该命令需要使用管理员权限才可以使用,我能够想到的方法一种是使用powershell,但是在其中并打不开JDK/bin目录。随后找到一种方法,搜索到cmd.exe,点击右键,以管理员身份运行即可。

Tomcat新手问题


用管理员身份运行命令行


2.Caused by: java.io.FileNotFoundException

这个是文件权限问题,详情可见:

https://blog.csdn.net/weixin_33851429/article/details/85902647


3.org.apache.catalina.util.LifecycleBase.handleSubClassException 初始化组件[Connector[HTTP/1.1-8080]]失败。

该异常我找遍了几乎全网的博客也没有找到合适的解决方法,本人推测这个可能是和端口被占用的有关系。因为与该异常伴随的还会有一个“ Caused by: java.net.BindException: Address already in use: bind at......”这就一目了然了,明摆着的端口被占用。在使用命令netstat -aon|findstr "8080"  后即可查看该端口是否被占用。关于查看端口以及杀死端口的命令可以查看博客https://blog.csdn.net/maojycom/article/details/41750309


被占用的端口


在朋友指导下,把conf/server.xml中的Connector port改成8081,并且重启电脑后,打开startup.bat,浏览器中的访问服务器界面(http://localhost:8081/)终于连接成功了!


终于连接成功的服务器


总结:最终的服务器安装是否成功还是要以该服务器界面是否能够成功访问来定夺的,期间的所有问题需要一步一步来解决,在解决问题的时候一定要思路清晰,清楚自己现在面临的问题是什么,查阅所有博客,咨询同学,解决好一个解决一个,最后一定能够都解决的。


以上是关于怎么在不同版本的Tomcat上运行同一个项目的主要内容,如果未能解决你的问题,请参考以下文章

软考知识点梳理--项目版本管理

不同版本的 C++ 库

Tomcat安装配置

node 怎么在服务器上运行?

怎么在同一个Tomcat下部署两个相同的项目吗,请大神解决!!!

tomcat安装后,在“服务”中为啥没有?