getDispatcherType()是未定义的typesHttpServletRequest
我已经将一个JavadynamicWeb项目导入Eclipse IDE(在Eclipse IDE中实现并正确工作)。
我得到一个“ getDispatcherType()
未定义的typesHttpServletRequest
”错误,同时运行该项目。
我已经按照结构将每个文件复制到IDE中,并完成了工作。
现在我只想知道当我导入项目时为什么会出现这个错误。 有没有人遇到同样的问题? 请让我知道我可能犯了什么错误。
当我在IntelliJ中使用与servlet-api版本相冲突的servlet-api版本时,我遇到了同样的问题,它与Tomcat 8.0.x中支持的版本冲突…我使用的是Maven,所以我只是改变了依赖关系,干净的部署我的Web应用程序,问题就消失了。
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency>
tomcat 8.0.18,maven。 这是关于lib冲突。 我的解决scheme是:
<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency>
变成:
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency>
你应该从你的pom.xml中的其他依赖中排除“servlet-api-2.5.jar” 。
尽量不要像编译一样添加一个不同的servlet-api,因为你的tomcat已经为你提供了。
我的步骤:
我已经检查过,Maven在我的WEB-INF / lib文件夹中包含了一个servlet-api-2.5.jar,于是我在“Maven projects @IntelliJ Idea”上查看了完整的依赖关系图,然后排除了这个依赖关系来自所有的地方。 [button“显示依赖关系”对此适用)
我必须从velocity-tools中排除“commons-logging”(因为它具有servlet-api 2.5依赖性)。 还必须从jaxws-spring中排除servlet-api,这个默认范围直接依赖于它。
然后,只需添加您提供的范围,就可以在javax.servlet-api依赖项上。
如果你把你的servlet-api 3.0.1+添加为“compile”,那么你最终可能会同时拥有这两者,而第一个加载将会赢,这根本就不好。
注意:我的猜测是,这个问题来自servlet-api的groupId / artifactId的重命名,而不是被包含在maven项目中的最旧版本所覆盖。 :\
如果你的tomcat是版本8,使用:
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency>
成功了!
从旧版本升级到更新的Tomcat版本并保留旧的jar文件(如j2ee.jar和javaee.jar)时,也会发生这种情况。
j2ee.jar应该包含在你的webapp中,interfae是由tomcat实现的
我通过使用tomcat本身的servlet-api.jar和jsp-api.jar解决了这个问题,所以依赖性将通过如下的系统范围来指定:
<servlet.api.jar.path>/opt/apache-tomcat-8.0.15/lib/servlet-api.jar</servlet.api.jar.path> <jsp.api.jar.path>/opt/apache-tomcat-8.0.15/lib/jsp-api.jar</jsp.api.jar.path> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0</version> <scope>system</scope> <systemPath>${servlet.api.jar.path}</systemPath> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> <scope>system</scope> <systemPath>${jsp.api.jar.path}</systemPath> </dependency>
- 是否有可能在debugging模式下使用proguard?
- Mac OS Lion中的Subclipse显示“无法加载默认的SVN客户端”错误
- Eclipse在哪里查找Linux下的eclipse.ini
- 如何在Eclipse中为Android启用LogCat / Console?
- 如何在Eclipse中默认源文件夹以进行新的JUnittesting?
- 如何编写Eclipse的插件?
- 为什么Gradle需要一个settings.gradle文件?
- 在eclipse中,在debugging时,如何访问交互式顶级(a.ka.“display console”)?
- 启动Eclipse时出现“无法获取应用程序服务”错误