关于Tomcat10不能使用javax命名空间的类,我踩过的坑

oracle公司在2017年把javaee卖给了开源组织。并要求开源组织不能再以Java命名javaee,所以在高版本Tomcat和Jetty等服务器不再支持javax类库。(对应的新命名空间为Jakarta,类库的内容应该没有改变)
在下不幸踩过两次雷
1.暑假在公司学习的时候,公司项目是去除了spring的web起步依赖内嵌的Tomcat(这个应该是低版本的Tomcat,7或者8)。而springmvc的servlet也是继承了javax命名空间对应的httpservlet。所以在spring的web项目中如果要使用外置的tomcat,并且这个Tomcat版本是10以后的话,那么这个servlet类不会被识别服务器识别成servlet类。从而导致项目跑起来也无法访问服务器内的资源。之前在公司被这个问题困扰了几天。(当时拿到公司的项目也跑不起来,当然这其中还有Redis连接的问题)
2.今天在帮同学解决问题时,同样遇到这个雷。这个同学也是用的Tomcat10(这个同学是用jsp/servlet)写的web应用。在Maven中无法导入Jakarta的servlet的api(反正我没找到),然后我就导了javax对应的servlet的api,在此之后又形成了暑假时那个问题[捂脸],只能通过降Tomcat版本来解决。
所以暂时Tomcat最好不用Tomcat10,等以后Jakarta命名空间普及了再用不也迟。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值