腾讯云安装tomcat流程(以及遇到java.lang.NoClassDefFoundError是如何解决的)

首先登录你的腾讯云

我用的是远程工具MobileXterm连接的腾讯云

将下载好的安装包移到指定文件夹中

进入到当前目录解压文件

进入到bin目录下 输入./startup.sh  启动

如果报这种错误,就是你的JAVA_HOME环境配的不正确

输入以上代码找到安装的JDK目录

vim /etc/profile 输入你自己版本

配置生效source /etc/profile

输入./startup.sh  启动

正常应该就可以了

但我之前用过阿里云的服务器,然后我又新建了一个腾讯云的服务器实例,我没有把之前阿里云实例停止,导致我做完上面的工作还是连接不上。

我就查看tomcat下的logs文件中的catalina.out文件

05-Aug-2024 14:14:24.525 SEVERE [http-nio-8080-Acceptor] org.apache.tomcat.util.net.NioEndpoint.setSocketOptions Error setting socket options
	java.lang.NoClassDefFoundError: Could not initialize class sun.nio.ch.SocketChannelImpl$DefaultOptionsHolder
		at sun.nio.ch.SocketChannelImpl.supportedOptions(SocketChannelImpl.java:250)
		at sun.nio.ch.SocketChannelImpl.setOption(SocketChannelImpl.java:167)
		at sun.nio.ch.SocketAdaptor.setIntOption(SocketAdaptor.java:305)
		at sun.nio.ch.SocketAdaptor.setSoLinger(SocketAdaptor.java:340)
		at org.apache.tomcat.util.net.SocketProperties.setProperties(SocketProperties.java:226)
		at org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.java:500)
		at org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.java:71)
		at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:149)
		at java.lang.Thread.run(Thread.java:750)

日志中有这么2个错误,

这个错误表明在设置套接字选项时出现了问题,原因是无法初始化 sun.nio.ch.SocketChannelImpl$DefaultOptionsHolder 类。

另一个错误是说我的8005端口被使用。

这可能是由于以下原因导致的:

  1. 类路径问题:相关的类库可能没有正确配置在类路径中,导致无法找到和加载该类。
  2. 依赖冲突:可能存在其他依赖与所需的类库发生冲突,影响了正常的类加载。
  3. 运行环境问题:例如 Java 版本不兼容,或者某些系统环境变量设置不正确。

但是我都检查过了,不是这里的问题,那就应该是端口问题了,我想起来我之前用过阿里云实例搭建过tomcat,于是我查看端口

发现被占用了,于是kill +id号 杀死进程,然后更改配置在tomcat 下的 conf 下的server.xml文件,我把8005改成了8055,在重新启动tomcat

在运行就可以了。

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值