maven tomcat 报错SpringServletContainerInitializer ServletContainerInitializer Fi
- 博客分类:
- java
项目里使用的tomcat插件:
无论是用tomcat7启动,还是用tomcat6启动都报错,使用jetty启动正常
tomcat7:run
tomcat:run
搜索发现是与servlet-api的版本有关,查看maven的依赖,发现dubbo依赖jetty,而jetty自带servlet-api包,使项目里配置的javax.servlet无效
为dubbo的依赖排除jetty的servlet-apijar包,就可以正常启动了
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8080</port> <path>/</path> </configuration> </plugin>
无论是用tomcat7启动,还是用tomcat6启动都报错,使用jetty启动正常
tomcat7:run
at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) ... 6 more Caused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer at org.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1670) at org.apache.catalina.startup.ContextConfig.getServletContainerInitializers(ContextConfig.java:1652) at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1562) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1270) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 6 more
tomcat:run
java.lang.ClassCastException: com.xxxx.xxxx.filter.BlacklistIPFilter cannot be cast to javax.servlet.Filter at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardHost.start(StandardHost.java:785) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445) at org.apache.catalina.startup.Embedded.start(Embedded.java:825) at org.codehaus.mojo.tomcat.AbstractRunMojo.startContainer(AbstractRunMojo.java:558) at org.codehaus.mojo.tomcat.AbstractRunMojo.execute(AbstractRunMojo.java:255) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:582) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
搜索发现是与servlet-api的版本有关,查看maven的依赖,发现dubbo依赖jetty,而jetty自带servlet-api包,使项目里配置的javax.servlet无效
<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <scope>provided</scope> <version>2.0</version> </dependency>
为dubbo的依赖排除jetty的servlet-apijar包,就可以正常启动了
<dependency> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> <exclusion> <groupId>org.mortbay.jetty</groupId> <artifactId>servlet-api</artifactId> </exclusion> </exclusions> </dependency> <exclusions> <exclusion> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet</artifactId> </exclusion> </exclusions>
发表评论
-
charles4.2下载与破解方法以及配置https
2020-02-26 09:03 2有两个抓包工具 一个是fidder,一个是charles,两个 ... -
序列号批量生成算法
2019-12-05 14:11 0业务处理过程当中,经常需要生成订单号、序列号等,简单的可 ... -
使用ANTLR处理文本
2019-08-28 17:32 768引用 使用 Antlr 处理文本 https://www.ib ... -
解决maven-metadata.xml文件下载卡死问题
2019-04-11 14:02 3986http://192.168.1.110:8081/nexus ... -
rsync备份和删除指定文件
2018-01-02 10:23 2053文件异地备份时,需要将本地文件合并到服务器上,且不能删除服务器 ... -
javaLocale格式化日期和数字
2017-08-25 09:26 871public static void main(Strin ... -
centos6 tomcat 启动脚本 tomcat服务
2017-08-23 11:24 1441系统自动启动tomcat 复制该脚本到/etc/init.d/ ... -
win7 命令行改IP和DNS
2016-12-21 18:35 738使用管理员权限运行CMD //改DNS netsh ... -
jenkins中集成sonar,使用findbug、pmd、checkstyle提升代码质量
2016-09-29 14:58 6175实际上jenkins单独也 ... -
jenkins 集成sonar
2016-09-18 10:14 0jenkins集成sonar可以从插件中心直接更新安装 son ... -
activeMQ5.14权限配置
2016-08-17 13:47 2673activeMQ默认的消息队列没有用户名和密码,可以直接通过T ... -
solaris 使用解压版的jdk
2016-07-27 15:17 764solaris上配置jdk其实也很简单 由于solaris有 ... -
solaris tomcat开机启动
2016-07-27 16:17 621创建文件夹/var/svc/manifes ... -
HibernateTemplate Vs HibernateDaoSupport Vs Direct Hibernate Access
2016-07-26 11:07 735http://forum.spring.io/forum/sp ... -
spring mvc mybatis will not be managed by Spring
2016-07-20 17:30 9887项目运行时发现事务提交不完整,回滚时只能回滚一半。 系统配置 ... -
java里判断一点是否在某个区域
2016-06-03 17:47 1845import java.awt.geom.Path2D ... -
12306的技术升级
2016-04-20 16:17 1034升级的核心是余票查询的升级,余票查询使用存储过程,sybase ... -
工作流的123
2016-04-20 12:58 577三分钟了解Activity工作流 工作流一般会给开发人员提供流 ... -
sping mvc 使用@Value注解为controller注入值
2016-04-17 17:39 10836spring mvc 里有两个配置文件, 第一个,为sprin ... -
googleapis.com域名访问慢的解决办法
2016-04-13 12:09 9741、安装火狐 2、安装插件ReplaceGoogleCDN
相关推荐
myeclipse创建maven工程报错 Could not resolve
### Eclipse导入Maven项目报错解决办法 在开发过程中,我们常常会遇到使用Eclipse导入Maven项目时出现的各种报错情况。本文旨在系统地介绍如何解决这些常见问题,包括但不限于配置环境、设置JDK版本、配置Maven库...
主要介绍了SpringBoot Maven Clean报错解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
解决Maven项目报错java.httpservlet和synchronized使用方法 在Maven项目中,我们经常会遇到一些报错问题,例如java.httpservlet和synchronized使用方法等。这篇文章将为大家带来解决Maven项目报错java.httpservlet...
<groupId>org.apache.tomcat.maven <artifactId>tomcat7-maven-plugin <path>/ <port>9001 <staticContextPath>/img <staticContextDocbase>C:/Users/sinodata-ylq/IdeaProjects/zshop/zshop_parent/zshop_...
在IT开发领域,Maven、Tomcat和IntelliJ IDEA是三个非常重要的工具。Maven是Java项目管理和构建的利器,Tomcat是一个流行的Java Servlet容器,用于运行Web应用程序,而IntelliJ IDEA则是广泛使用的Java集成开发环境...
Maven 使用 tomcat8-maven-plugin 插件 Maven 是一个流行的构建自动化工具,它可以帮助开发者自动完成项目的编译、测试、打包、部署等任务。 Tomcat 是一个流行的 Web 服务器,Maven 提供了一个插件 tomcat8-maven-...
在Maven中,我们可以使用Maven Tomcat插件(maven-tomcat-plugin或tomcat7-maven-plugin/tomcat9-maven-plugin,取决于Tomcat版本)来直接将项目部署到Tomcat服务器上。通过在pom.xml文件中添加相应插件配置,开发者...
Maven install 报错"程序包不存在"问题的解决方法 Maven install 报错"程序包不存在"问题是 Maven 项目开发中常见的问题之一。当我们在使用 Maven 进行项目构建时,可能会遇到"程序包不存在"的错误信息,这种错误...
Maven Tomcat插件是Apache Maven项目中的一个重要组件,它允许开发人员通过Maven构建工具直接部署和运行Java Web应用程序到Apache Tomcat服务器上。这个插件极大地简化了开发流程,使得开发者无需手动将应用部署到...
maven-tomcat-plugin让maven与tomcat配合得很好。它可以把应用部署到Tomcat服务器,也可以把tomcat作为内嵌服务器启动,就像jetty一样。 使用JPDA启动tomcat的远程调试功能。这样就能与eclipse配合起来,轻松地实现...
"部署到Tomcat报错"这个问题可能是由于多种原因引起的,包括但不限于配置错误、环境问题、版本不兼容等。以下将针对这个主题展开讨论。 首先,当我们尝试部署一个Web应用到Tomcat时,最常见的报错可能涉及到以下几...
关于IDEA2020.1新建项目maven PKIX报错问题解决方法 在IDEA2020.1中新建项目时,经常会遇到maven PKIX报错问题,这是一种常见的错误,影响了项目的正常构建和运行。这个错误的主要原因是ValidatorException:PKIX ...
3. **将Maven项目部署到Tomcat**: 右键选中项目,选择`Properties -> Run/Debug Settings`,在Maven Build配置中添加`tomcat7:deploy`目标,然后将项目拖入Servers视图的Tomcat服务器。 4. **启动Tomcat**: 在...
解决Idea导入SSM项目启动Tomcat报错404的问题 本文旨在解决Idea中导入SSM项目启动Tomcat时报错404的问题,提供了一种有效的解决方案。该方案通过在pom文件中添加特定的配置信息,解决了Idea无法识别Tomcat和JDK的...
### Maven Tomcat 插件详解 #### 一、引言 在现代软件开发过程中,持续集成与部署(CI/CD)已成为提升开发效率的关键技术之一。对于Java Web开发者而言,如何快速有效地将Web应用程序部署到Tomcat服务器上,是提高...
在开发Java Web应用程序时,Maven和Tomcat的结合使用能大大提高我们的效率。Maven作为一个强大的项目管理和构建工具,能够管理项目的依赖、构建流程以及生命周期。而Tomcat则是一个流行的开源Web服务器和应用服务器...
参考: ...目录 一、更改镜像 二、手动将需要的插件和依赖下载放到本地厂库 三、下载阿里网站的资格证书...四、设置maven的VM属性,这个成功解决问题 从https://start.spring.io/生成的spring boot项目,报错unable to f
对于部署,可以利用Maven的`tomcat7-maven-plugin`或`tomcat8-maven-plugin`插件,直接将WAR文件部署到本地或远程的Tomcat服务器上,无需手动操作。通过命令行执行`mvn tomcat7:deploy`或`mvn tomcat8:deploy`,即可...
### GitLab、Jenkins、Maven与Tomcat集成部署详解 #### 一、概述 本文档将详细介绍如何在Jenkins平台上实现Maven项目的自动化构建,并将其自动部署至Tomcat服务器的过程。通过集成GitLab作为源代码管理工具,利用...