13.Tomcat服务器启动失败的总结

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

目录

一、Tomcat服务器启动失败。

(1)找原因:看最后一个Caused by:后面的内容。

(2)解决:我是直接删除"java.html",然后可运行。 

二、Tomcat工件部署出错。

(1)错误原因1:javax.servlet.ServletContextListener。

(1)解决方法一:换一个版本的Tomcat。

(2) 解决方法二:在pom.xml文件中添加标签

(3) 解决方法三:Put into Output Root

(2)出错原因2:NotWritablePropertyException: Invalid property 'jdbcTemplate' of bean class [dao.impl.UserDaoImpl]。

(1)错误:类没有设置setter方法。

(2)解决方法:在pom.xml文件中war。

三、Tomcat服务器启动时的日志是乱码。

(1)解决方法1-环境变量。

(2)解决方法2-tomcat配置VM-options。

(3)解决方法3-IEDA配置VM-options。

 (4)解决乱码后的显示。 


一、Tomcat服务器启动失败。

...................省略大量上面的内容
	Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 子容器启动失败
		at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
		at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
		at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:926)
		... 13 more
	Caused by: org.apache.catalina.LifecycleException: 子容器启动失败
		at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:938)
		at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:886)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
		at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
		at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
		at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
		at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
		at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
		... 13 more
	Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 无法启动组件[org.apache.catalina.webresources.StandardRoot@12a94400]
		at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
		at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
		at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:926)
		... 21 more
	Caused by: org.apache.catalina.LifecycleException: 无法启动组件[org.apache.catalina.webresources.StandardRoot@12a94400]
		at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
		at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4834)
		at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4972)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
		at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
		at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
		at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
		at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
		at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
		... 21 more
	Caused by: java.lang.IllegalArgumentException: 指定的主资源集 [G:\apache-tomcat-10.0.21-windows-x64\apache-tomcat-10.0.21\webapps\java.html] 无效
		at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:762)
		at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:719)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		... 30 more
06-Apr-2023 22:27:27.968 信息 [main] org.apache.coyote.AbstractProtocol.pause 暂停ProtocolHandler["http-nio-8080"]
06-Apr-2023 22:27:27.968 信息 [main] org.apache.catalina.core.StandardService.stopInternal 正在停止服务[Catalina]
06-Apr-2023 22:27:27.968 信息 [main] org.apache.coyote.AbstractProtocol.destroy 正在摧毁协议处理器 ["http-nio-8080"]
已与服务器断开连接

(1)找原因:看最后一个Caused by:后面的内容。

Caused by: java.lang.IllegalArgumentException: 指定的主资源集 [G:\apache-tomcat-10.0.21-windows-x64\apache-tomcat-10.0.21\webapps\java.html] 无效

 这是最后一个Caused by的内容:java.html无效。

去tomcat下的conf目录下的server.xml文件:直接翻到最下面-看到 "/java.xml".

(2)解决:我是直接删除"java.html",然后可运行。 

二、Tomcat工件部署出错。

(1)错误原因1:javax.servlet.ServletContextListener。

Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContextListener。

1、jar文件没有同步发布到自己项目的lib目录中,也即是你编译之后生成的文件内,没有lib目录(没有jar包)

(1)解决方法一:换一个版本的Tomcat。

本来是10.0.21版本的tomcat服务器,但是一直工件错误,然后找了很久都没找到解决方法,但是 javax.servlet.ServletContextListener类是可以找到的。然后我换了个版本的服务器,出奇的竟然可以正常部署了。

(2) 解决方法二:在pom.xml文件中添加<packaging>标签

<packaging>war</packaging>

(3) 解决方法三:Put into Output Root

这是由于pom.xml中下载的jar包未被部署。我们先ctrl+shift+alt+s打开Project Structure窗口,选择Artifacts,选择要打包部署的项目,在Output Layout –> Web-INF查看是否有lib目录,如果右边Available Elements窗口还显示有jar包,说明这些jar包未添加,则应右击选择Put into Output Root就可以了。

注意:这些方法,说的是我的经验,不一定就可以解决或正确,因为有时候做了某个操作莫名奇妙就可以运行了,然后改回来之后,还是可以运行,这个操作就存在疑问????了,因为很难验证或者验证不了。

(2)出错原因2:NotWritablePropertyException: Invalid property 'jdbcTemplate' of bean class [dao.impl.UserDaoImpl]。

	Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'jdbcTemplate' of bean class [dao.impl.UserDaoImpl]: Bean property 'jdbcTemplate' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
		at org.springframework.beans.BeanWrapperImpl.createNotWritablePropertyException(BeanWrapperImpl.java:243)
		at org.springframework.beans.AbstractNestablePropertyAccessor.processLocalProperty(AbstractNestablePropertyAccessor.java:426)
		at org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue(AbstractNestablePropertyAccessor.java:278)
		at org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue(AbstractNestablePropertyAccessor.java:266)
		at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:97)
		at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:77)
		at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1638)
		... 69 more
13-Apr-2023 12:37:32.663 信息 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.ApplicationContext.log Closing Spring root WebApplicationContext
13-Apr-2023 12:37:37.082 信息 [Catalina-utility-1] org.apache.catalina.core.ApplicationContext.log ContextListener: contextInitialized()
13-Apr-2023 12:37:37.082 信息 [Catalina-utility-1] org.apache.catalina.core.ApplicationContext.log SessionListener: contextInitialized()
13-Apr-2023 12:37:37.085 信息 [Catalina-utility-1] org.apache.catalina.core.ApplicationContext.log ContextListener: attributeAdded('StockTicker', 'async.Stockticker@74aed74b')

(1)错误:类没有设置setter方法。

Invalid property 'jdbcTemplate' of bean class [dao.impl.UserDaoImpl]: Bean property 'jdbcTemplate' is not writable or has an invalid setter method. 

(2)解决方法:在pom.xml文件中<packaging>war</packaging>。

我的问题是我在该类中已经加了setter方法,但是它一直出现这个问题。

然后我就在pom.xml文件中添加了以下代码。

<packaging>war</packaging>

三、Tomcat服务器启动时的日志是乱码。

(1)解决方法1-环境变量。

在系统的环境变量中添加一个变量,名为: JAVA_TOOL_OPTIONS, 值为:-Dfile.encoding=UTF-8\n这样就能让server下的中文也变成UTF-8编码。

(2)解决方法2-tomcat配置VM-options。

在tomcat配置VM- options: 填入:-Dfile.encoding=UTF-8。(这个设置后还是乱码的,所以可以不设置这里,直接在IDEA中设置)。

(3)解决方法3-IEDA配置VM-options。

DEA help->edit custom VM options中保留-Dfile.encoding=UTF-8。

 (4)解决乱码后的显示。 

Java web 项目启动 Tomcat 报错有哪些解决方案? 启动Tomcat时可能遇到的错误多种多样,解决问题的关键在于仔细分析错误信息,了解项目和Tomcat的配置,逐一排查可能的原因。通过不断的实践和查找解决方案,可以积累解决问题的经验,提高对项目的理解和调试能力。同时,定期检查项目的依赖、配置和代码,保持项目的健康状态,有助于避免一些潜在的问题。 阅读详情

相关推荐

Web实战——Tomcat9和JDK13下载、安装、配置(Win10)

文章目录Tomcat9和JDK13下载、安装、配置介绍服务器TomcatJDK13的下载、安装、配置下载安装配置验证Tomcat9下载、安装、配置下载安装配置验证可能出现问题及其解决问题一:Tomcat窗口出现中文乱码问题二:浏览器访问Tomcat服务器失败参考 文章目录Tomcat9和JDK13下载、安装、配置介绍服务器TomcatJDK13的下载、安装、配置下载安装配置验证Tomcat9下载、...

ChenTianyu的博客 3792

MyEclipse中无法启动tomcat服务器的问题

cmd下确实是可以把Tomcat启动的,所有问题肯定还是出在MyEclipse的配置上面。再次回到MyE,突然回想起以前遇到过Debug mode运行的时候,要是Eclipse中存在有断点的话,就无法正常启动Tomcat

eclipse中启动tomcat失败

eclipse中启动tomcat失败 错误信息如下: 九月 10, 2020 4:09:40 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:video' did not find a matching p

技术分享 3721

关于IDEA运行时出现的ApplicationContext.log Closing Spring root WebApplicationContext问题

网上搜了好久,有让改tomcat端口号的,有让在tomcat server根目录下加东西的,还有说加struts2的jar包的,还有说要删掉和log4j冲突的jar包的..... 但是问题还是没有解决 最后.... 我发现我的mybatis.xml文件里的一个mapper的路径写错!!!! 历时十几个小时,万万没想到是这种错误.. 所以,如果你也遇到这个问题,有可能也是配置文件路径错了 以上。 ...

Erer__的博客 3769

java jpda_Java远程调试(JPDA)在Tomcat 9中不适用于我

我正在尝试在最近升级的Tomcat 9.0.13和Open JDK 11.0.1上远程调试Tomcat Web应用程序。服务器是RedhatEnterprise Linux 7.6,我正在Windows 7开发人员盒上使用Eclipse进行连接。Tomcat启动,可以在端口8080上访问该应用程序,但在某些请求下失败。因此,在Eclipse上,我已经使用自己的配置详细信息配置了RemoteJava...

weixin_30044149的博客 276

使用sts时遇到的部分问题

1. sts启动时报错Java was started but returned exit code=13 2. 使用tomcat时报错Could not publish server configuration for Tomcat vx.0 Server at localhost 1. sts启动时报错Java was started but returned exit code=13 如果系统安装的JDK版本是32位的,那么这个STS也必须是32位,反之,64位也是一样的道理。所以检查jdk与sts的

遥望星河的博客 830

tomcat启动后https访问失败

针对这种问题开发者会出现很多次这种问题当tomcat启动无异常后访问网址拒绝请求  解决方法:配置Tomcat使用https协议 一.  创建tomcat证书 这里使用JDK自带的keytool工具来生成证书: 1. 在jdk的安装目录\bin\keytool.exe下打开keytool.exe 2. 在命令行中输入以下命令: keytool -genkeypair -ali...

weixin_40602490的博客 1万+

tomcat启动失败无权限_无法访问tomcat怎么办_电脑tomcat启动成功访问不了解决方法...

2017-06-13 16:36:18我们在网上下载安装Tomcat,Win7系统直接启动解压缩后的Tomcat/bin/startup.bat,发现无法正常启动。然后使用浏览器访问地址均无法正常访问,这个是什么情况?...2016-12-21 15:14:19许多网友询问说win8.1系统如何安装Tomcat?在开发Java Web项目时经常使用Tomcat,可是升级到win8.1系统后没有To...

weixin_39952800的博客 1539

Tomcat服务器

文章目录web服务器软件1.Java Web服务器2.Tomcat服务器3.Tomcat服务器的安装及配置4.IDEA配置Tomcat及创建Web项目5.Tomcat日志乱码解决6. Tomcat启动失败解决方案 web服务器软件 1.Java Web服务器 服务器:安装了服务器软件的计算机 服务器软件:接收用户的请求,处理请求,做出响应 web服务器软件:接收用户的请求,处理请求,做出响应 ...

iqqcode 670

JavaWeb服务器-TomcatTomcat概述、Tomcat的下载、安装与卸载、启动与关闭、常见的问题)

Tomcat服务器软件是一个免费的开源的web应用服务器。是Apache软件基金会的一个核心项目。由Apache,Sun和其他一些公司及个人共同开发而成。由于Tomcat只支持Servlet/JSP少量JavaEE规范,所以是一个开源免费的轻量级Web服务器JavaEE规范: JavaEE => Java Enterprise Edition(Java企业版)avaEE规范就是指Java企业级开发的技术规范总和。

2302_79020600的博客 1334

eclipse启动Toncat 启动失败

五月 02, 2020 8:32:25 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: Server.服务器版本: Apache Tomcat/8.5.54 五月 02, 2020 8:32:25 上午 org.apache.catalina.startup.VersionLoggerListener log 信息:...

weixin_45309553的博客 344

集群中多个Tomcat启动失败,window下多个Tomcat启动

这是启动第二个Tomcat报错的,日志中明显是启动的还是第一个Tomcat的路径以下是报错 09-Jul-2020 16:08:59.391 严重 [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[AJP/1.3-8009]] org.apache.catalina.LifecycleException: Failed to initialize co

weixin_44839328的博客 249

Web服务器TomCat快速入门(从安装到部署)

Web 服务器是一个应用程序,对 HTTP 协议的操作进行封装,使得程序员不必直接对协议进行操作,让 Web 开发更加的便捷。Web 服务器是安装在服务端的一款软件,我们可以将自己的 Web 项目部署到 Web 服务器软件中,当 Web 服务器软件启动后,部署在 Web 服务器软件中的资源就可以通过浏览器来访问。Web 服务器主要的功能是提供网上信息浏览服务。

zhangxia_的博客 3324

Web服务器Tomcat详细总结

Web服务器是一个应用程序(),对的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更加便捷。主要功能是"提供网上信息浏览服务"。Web服务器是安装在服务器端的一款软件,将来我们把自己写的Web项目部署到Web Tomcat服务器软件中,当Web服务器软件启动后,部署在Web服务器软件中的页面就可以直接通过浏览器来访问了。TomcatApache软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Servlet/JSP少量JavaEE规范。

qq_62636650的博客 581

WEB服务器-Tomcat

服务器硬件指的也是计算机,只不过服务器要比我们日常使用的计算机大很多。服务器,也称伺服器。是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。在网络环境下,根据服务器提供的服务类型不同,可分为:文件服务器,数据库服务器,应用程序服务器,WEB服务器等。

actavy的博客 1390

tomcat启动失败常见问题

问题[1]: 2017-05-10 12:02:13,095 [localhost-startStop-1][IP:|USER:][WARN org.springframework.web.context.support.XmlWebApplicationContext] Exception thrown from LifecycleProcessor on context cl...

java小兵 7130

tomcat开机自启动 java的jar包、redis、nginx、exe服务实现开机启动

java的jar包服务实现开机启动

gys9895的博客 4393

服务器主机本地系统开机,本地主机启动tomcat v9.0服务器错误

我试图启动一个tomcat v9.0服务器在本地主机上春天STS但它会弹出以下错误。本地主机启动tomcat v9.0服务器错误“本地主机起tomcat服务器V9.0遇到了问题”没有使用的端口8080。所以这不应该是8080端口没有任何进程正在使用另一个进程。试图改变端口,但它一次又一次地提供相同的错误。有人可以帮助我克服这个错误。控制台中显示以下错误。Mar 26, 2017 7:30:02 P...

weixin_39917576的博客 2105
上一篇: 22.SSM框架-SpringMVC
下一篇: 23.SSM-JdbcTemplate总结
醉梦依依惜
博客等级 码龄5年 482粉丝 171原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值