zoukankan      html  css  js  c++  java
  • validateJarFile jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

    项目环境

    Maven、Tomcat7.0.27、jdk1.8.0_111

    报这个错误的原因是项目中依赖 javax.servlet-api 包和Tomcat本身的包冲突了,Tomcat本身也有这个包

    有人说删除项目中的servlet-api包,但删除项目中的servlet-api依赖包,项目编译都报错

    解决办法是修改 dependency 的scope

       <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <version>3.1.0</version>
          <scope>provided</scope>
        </dependency>

    Scope 有5个值可以设置

    compile: 缺省值,适用于所有阶段,会随着项目一起发布。 
    provided: 类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。 
    runtime: 只在运行时使用,如JDBC驱动,适用运行和测试阶段。 
    test: 只在测试时使用,用于编译和运行测试代码。不会随项目发布。 
    system: 类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

    这里设置provided就是期忘Tomcat提供这个依赖包,问题解决

    util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 18

    上面问题解决之后又遇到第二个问题

    解决办法是 升级tomcat版本,tomcat升级到8,问题解决

  • 相关阅读:
    yum---Linux软件安装与管理
    Python Cheetah01
    Python 改变字体颜色
    DenyHosts安装及配置
    Python 文件I/O
    Python 列表(List)
    Python 字符串
    Python 循环语句
    Python 条件语句
    Python 系统性能信息模块psutil
  • 原文地址:https://www.cnblogs.com/liuchao102/p/6078269.html
Copyright © 2011-2022 走看看