Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web modules(由Version版本差异引起)

前话

最近复习JavaWeb,在看一些视频的时候,发现视频中创建dynamic web 文件时候,会在 version 版本中把默认的 3.0 改为 2.5 。以前初学的时候也没有深入的考虑,现在再看视频发现了这个问题,于是就想多了解一些这样做的原因。

  • version 选择的场景
    初始状态可选择版本
  • 问题焦点

默认版本为3.0,且可选版本不唯一,为什么不选择最新的版本3.0,或者其他老版本,而唯独选择了版本2.5。 那么2.5和3.0的差异在哪里,选择2.5在写项目时候又有什么优于3.0的地方呢?

一些整理

  • Web Module Version 概念

Dynamic web module version即表示所建web工程的版本,不同版本的web项目有不同的应用环境。例如,3.0的web项目就不能部署在JBoss5以及早起的服务器上。

  • Web Module Version 与 Tomcat 之间的对应关系

dynamic web module 2.4 << ------ >> Tomcat 5.5
dynamic web module 2.5 << ------ >> Tomcat 6.0
dynamic web module 3.0 << ------ >> Tomcat 7.0

  • 常见因 version 版本差异引起的错误提示

Tomcat version 5.5 only supports J2EE 1.2, 1.3, 1.4 Web modules
Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules
Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web
modules
Project facet Dynamic Web Module version 3.0 is not supported.
Project facet Dynamic Web Module version 2.5 is not supported.

  • 如何解决上述版本差异引起的问题?
问题的核心是 version 与 Tomcat 版本不一致。因此,只需修修改 version 或者 Tomcat 的版本使两者处于一种相互对应的地位即可,以下是两种解决方案

1.修改配置文件中的 version版本
.
在项目的.setting文件夹下有个org.eclipse.wst.common.project.facet.core.xml文件,里面配置各种版本信息

<?xml version="1.0" encoding="UTF-8"?>
  <faceted-project>
    <fixed facet="java"/>  <fixed facet="jst.web"/>
    <fixed facet="wst.jsdt.web"/>
    <installed facet="java" version="1.7"/>
    <installed facet="jst.web" version="3.0"/>
    <installed facet="wst.jsdt.web" version="1.0"/>
  </faceted-project>

将< installed facet=“jst.web” version=“3.0”/>修改成< installed facet=“jst.web” version=“这里填入要修改的版本”/>即可。
.
2.更换对应版本的 Tomcat ,安装后更改 eclipse 中 Tomcat 的默认版本后重启即可

针对开始提问的回答

  • 为什么选择 3.0 而不选择其他版本

主要因为兼容性问题,也就是 juno 版本才支持 Dynamic Web Module 3.0 的,连最常用的galileo也只能支持 2.5 。且不同的 tomcat 与 Web Module Version 之间往往因为版本差异引起各种部署及其他问题,因而选择 2.5 的原因是能更多的适应于不同的客户端之间,尽可能的避免了了一些因为版本冲突引起的错误

  • 当遇到因版本差异而导致的项目无法部署时候如何解决?

方法1:按照前面所讲的方式修改 version 的版本
方法2:将 Tomcat 的版本更新,使得 version 和 Tomcat 版本能够对应

总结

各种不同技术之间的更新速度差异较大,不同技术之间的版本的支持无法同步更新迭代,会出现某一项技术更新太快而无法与某一项技术兼容,但是这一项技术又无法舍弃的情况,所以,就产生了这些情况。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值