tomcat启动不了的原因
tomcat常见的错误与解决方案小结
tomcat常见的错误与解决⽅案⼩结⼀、tomcat启动时错误问题1:The JAVA_HOME environment variable is not defined This environment variable is needed to run this program;解决:没有在tomcat的配置⽂件.bash_profile中设置环境变量JAVA_HOME,具体设置⽅法为:加⼊如下⼏⾏:JAVA_HOME=/home/tomcat/j2sdk1.4.2_08(具体值要以实际的jdk安装路径为准)export JAVA_HOMECLASSPATH=/home/tomcat/j2sdk1.4.2_08/lib/tools.jar:/home/tomcat/j2sdk1.4.2_08/lib/dt.jarexport CLASSPATH问题2:Error occurred during initialization of VM Could not reserve enough space for object heap解决:在tomcat的bin⽬录下,catalina.sh⽂件的tomcat内存参数配置过⼤,超过机器可⽤内存总数造成,修改到适当的值即可,修改的参数为:JAVA_OPTS="-Xms50m -Xmx60m"问题3:tomcat启动时报某个⽬录没有权限,启动失败,或者不能执⾏某些jsp页解决:tomcat需要tomcat⽤户具有⼀些⽬录和⽂件的相应权限, 所有⽬录应该具有读写执⾏(浏览)的权限,jsp,class⽂件应该最少具有读权限, ⼀些⽂件需要写权限,下⾯是已知的需要读写权限⽂件的列表:$CATALINA_HOME/logs下所有⽂件$CATALINA_HOME/work下所有⽂件$CATALINA_HOME/publish/main/count.txt⽂件$CATALINA_HOME/publish/chatroom/resource下的所有.xml⽂件所有上传图⽚⽬录都需要写权限。
TestCenter常见问题
TestCenter常见问题1. 无法启动Tomcat出现此问题可以做如下尝试:(1) 首先查看本机是否安装了JDK,要确保JDK本身没有问题(必须安装JDK1.6)(2) 装完JDK后,需配置环境变量JAVA_HOME (可以参考以下步骤)找到JDK的安装目录(默认安装在C:Program FilesJavajdk1.6.0_12),复制该路径;右键“我的电脑”点击“属性”,选择“高级”标签页点击“环境变量”后,在弹出的“环境变量”对话框中点击“新建”按钮在变量名中输入:JAVA_HOME(注意大小写以及下划线)在变量值中把刚刚复制的路径,JDK安装目录所在路径(默认安装在C:Program FilesJavajdk1.6.0_12,用户需要找到自己实际的安装路径来设置变量值)如下图:点击“确定”,结束环境变量的配置。
环境变量CLASSPATH:C:Program FilesJavajdk1.6.0_12jrelib (默认安装在C:Program FilesJavajdk1.6.0_12jrelib,用户需要找到自己实际的安装路径来设置变量值)2. 在登录界面输入正确的用户名以及密码,却提示用户名或密码不正确问题出现如上的情况一般是由于没连接上Mysql数据库造成的,而不能连接上Mysql数据库的话分为以下三种情况:(1)若用户本机没有装有Mysql数据库的话则需要在安装TestCenter过程中需要选中“安装Mysql数据库”(2)若用户在本机中已经装有Mysql数据库的话,需要导入我们TestCenter的数据库database,该数据库文件testcenter.sql 在文件夹TestCenter目录下(默认路径为C:Program FilesSpasvoSoftTestCenter),具体步骤如下:a) 在“运行”中输入cmd,打开cmd窗口b) 进入Mysql的bin目录,在cmd中输入cd C:Program FilesMySQLMySQL Server 5.0in(C:Program FilesMySQLMySQL Server5.0in只是一个举例,用户需要根据自己的实际安装目录输入)c) 输入mysql ?uroot ?proot 进入mysql数据库中;d) 进入mysql后就可以导入TestCenter数据库文件testcenter.sql 了,输入source C:Program FilesSpasvoSoftTestCenterestcenter.sqle) 导入成功会有如下显示;完成以上步骤后就可以正常使用TestCenter。
Tomcat启动,报错CantloadIA32-bit.dllonaAMD64-bitpl。。。
Tomcat启动,报错CantloadIA32-bit.dllonaAMD64-bitpl。
最近公司要开发新项⽬,开发经理整了个框架扔给我,让我跑跑看,于是就遇到问题了。
Tomcat启动,报错Can't load IA 32-bit .dll on a AMD 64-bit platform。
在⽹上百度了这个问题,说是jdk版本与tomcat版本不匹配,需要将tomcat的bin⽬录下的tcnative-1.dll换成64位的就可以,于是从E盘tomcat⾥拷贝了个,然后项⽬启动没报错了。
虽然变相解决了问题,但我⼼中的疑惑并没有解开。
明明给项⽬配的是E盘⾥的tomcat,那么怎么会去启动C盘⾥tomcat的配置⽂件呢?解决办法是有了,为了检测是哪⾥的问题,我⼜把⽂件换回去。
我⼜去看了项⽬⾥的配置然后开始检查系统环境变量,我发现这⾥配的是C盘的,好的,真相只有⼀个,肯定是这⾥的问题。
于是改成E盘的。
确定⼀定以及肯定,没有其他地⽅还能改的了,这下应该没有问题了。
嗯,静静按下启动键。
!惊了,控制台⼜报错!思前想后,感觉没有什么不对呀。
我想会不会是没有重新打包的缘故,于是重新打包,终于可以了!总结:⾸先、下载⼀个版本与jdk版本对应的tomcat,然后配置tomcat的环境变量,最后正常部署项⽬到tomcat启动即可。
顺带吐槽⼀下,公司好多个项⽬⽤的tomcat和jdk版本都不⼀样,有时候换个项⽬开发,就要修改环境变量,偶尔也会忘记。
最后有个问题:如果不更换tomcat环境变量(环境变量与项⽬配置的tomcat不是同⼀个),每次只修改tcnative-1.dll的版本,项⽬跑动起来也不会出错,对今后开发是否会有看不见的影响?。
jar包冲突,导致tomcat启动失败
Exception starting filter struts2 Unable to load configuration. - [unknown location]把项目重新部署,出现这个错误Exception starting filter struts2Unable to load configuration. - [unknown location]at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)atorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java: 51)at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3800)at org.apache.catalina.core.StandardContext.start(StandardContext.java:4450)at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1173)at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1271)at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:296)at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)atorg.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.jav a:1601)atorg.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.jav a:1610)at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)at ng.Thread.run(Thread.java:619)Caused by: Unable to load configuration. - [unknown location]at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58) at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)... 16 moreCaused by: Caught exception while loading file struts-default.xml - [unknown location]atcom.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurati onProvider.java:902)atcom.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProv ider.java:143)atcom.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:110) atcom.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:168) at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55) ... 18 moreCaused by: ng.ClassCastException: org.apache.xerces.parsers.XML11Configuration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfigurationat org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)at org.apache.xerces.jaxp.DocumentBuilderImpl.<init>(Unknown Source)at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source)at .apache.xalan.internal.xsltc.trax.SAX2DOM.createDocument(SAX2DOM.java:326)at .apache.xalan.internal.xsltc.trax.SAX2DOM.<init>(SAX2DOM.java:85)at.apache.xalan.internal.xsltc.runtime.output.TransletOutputHandlerFactory.getSerializationHandler (TransletOutputHandlerFactory.java:187)at .apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(TransformerImpl.java:392) at.apache.xalan.internal.xsltc.trax.TransformerHandlerImpl.setResult(TransformerHandlerImpl.java: 137)at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.setup(DomHelper.java:205)at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:190)at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:181)at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:167)at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:107)atcom.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurati onProvider.java:893)... 22 more后面一查,是xerces-2.6.2.jar惹的祸把这个jar包删除就可以了!原因:jar包有冲突, 应该是XML解析包有冲突. 检查发布后的WEB-INF/lib有两个XML解析包:xml-apis.jar和xerces-2.6.2.jar 这种错误真正原因不是JDK 6和Struts 2冲突, 而是MyEclipse Hibernate 类库中多了两个包: xml-apis.jar和xerces-2.6.2.jar,这两个包的功能和JDK的冲突了. 解决办法: 1. 删除发布后目录的WEB-INF/lib/ 下的xerces-2.6.2.jar这个文件; 2. 或者使用JDK1.5来启动Tomcat 6.前面还有个asm-2.2.3和sam 他们也冲突在ssh搭配时。
Tomcat服务无法启动的问题的解决方法
Tomcat服务⽆法启动的问题的解决⽅法去年下半年公司就决定投⼊⼈⼒物⼒"跟风"做⼤数据⽅向的研究并应⽤到后续项⽬中,于是乎,我们也得熟悉下Java才⾏了。
先弄个JavaEE的开发环境再说吧。
装JDK、JRE,其实JDK下⾯已经有JRE了,如果在服务器上的话,只需装JRE;然后配置环境变量:新建:JAVA_HOME:D:\Java\jdk1.7.0_51新建:CLASS_PATH:.;%JAVA_HOME%\lib编辑:PATH:在最前⾯加上 %JAVA_HOME%\bin; 接着装Tomcat,startup.bat、shutdown.bat都正常,然后想把压缩版的Tomcat的启动和关闭做成Windows服务来处理,执⾏service.bat install提⽰服务创建成功,但是启动服务却失败了,系统⽇志提⽰:我之前台式机上的Windows 2003系统没啥问题,怎么到了现在这Win7系统的⼩本上就这样了呢?先分析下,既然可以正常调⽤service.bat,也就是环境变量的配置是没有问题的,对⽐下2个操作系统,似乎⽬前最有可能的就是安装时候的权限问题。
先卸载掉已经安装过的服务service.bat remove,然后"以管理员⾝份运⾏" cmd.exe,切换到service.bat所在的⽬录执⾏service.bat install重新安装Tomcat服务。
HoHo,这下可以正常启动和关闭了。
因为是开发环境,所以我们可以配置⼀个超级⽤户admin ,使其能够通过"http://localhost:8080/"来管理Tomcat。
进⼊Tomcat根⽬录下的conf⽂件夹,打开"tomcat-users.xml"进⾏编辑:复制代码代码如下:<tomcat-users><user username="admin" password="admin" roles="manager-gui,admin-gui"/></tomcat-users>重启Tomcat后,就可以使⽤admin来管理Tomcat了。
tomcat启动报错:Injectionofautowireddependenciesfailed
tomcat启动报错:Injectionofautowireddependenciesfailed Error creating bean with name 'backPrintPaperController': Injection of autowired dependencies failed; nested exception isorg.springframework.beans.factory.BeanCreationException: Could not autowire field: privatebre.lwpq.service.TblabrelatlwpqxkzxxServicebre.lwpq.view.BackPrintPaperController.tblabrelatlwpqxkzxxService; nested exception isorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tblabrelatlwpqxkzxxService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private bre.lwpq.service.TblabrelatlwpqdwxxServicebre.lwpq.service.TblabrelatlwpqxkzxxService.tblabrelatlwpqdwxxService; nested exception isorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tblabrelatlwpqdwxxService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private bre.lwpq.service.TblabrelatlwpqdwxxServicebre.lwpq.service.TblabrelatlwpqdwxxService.tblabrelatlwpqdwxxService; nested exception isorg.springframework.beans.factory.NoSuchBeanDefinitionException:[bre.lwpq.service.TblabrelatlwpqdwxxService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations:{@org.springframework.beans.factory.annotation.Autowired(required=true)}1.检查第⼀个错误:tblabrelatlwpqxkzxxService类发⽣:Could not autowire field不能 private bre.lwpq.service.TblabrelatlwpqdwxxService为什么不能 autowire TblabrelatlwpqdwxxService类呢?2.检查第⼆个错误:No matching bean ...注⼊失败.靠....原来⾃⼰把⾃⼰注⼊了.好吧,⼜是copy惹的祸.回复: Wangcaiyun我这⾥引起错误原因是因为在类⾥⾯⾃动注⼊了本⾝.只要把那两⾏代码删除就正常了.忘记把解决⽅案写出来了。
eclipseTomcat服务器启动失败(错误500容易疏忽的改错处)
eclipseTomcat服务器启动失败(错误500容易疏忽的改错处)因为电脑重装的原因,我打开eclipse打算启动tomcat的时候启动失败了Server Tomcat v7.0 Server at localhost failed to start.严重: A child container failed during startjava.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component上⽹查找了解决⽅案:于是我在lib⽂件夹下⾥加上了 common-logging的jar包,能启动了。
特别说明:在此之前我已经把这个jar包导到user library⾥⾯并在项⽬⾥引⽤了这个library,但很明显,它没有起作⽤。
(2) 还有其他可能导致数据库启动不了,就是tomcat服务器⾥可能重复部署了项⽬。
我们需要更改⼀下tomcat的server.xml。
这⾥所说的server.xml不是tomcat跟⽬录下的,⽽是你的保存项⽬那个地⽅的server.xml。
如下图所⽰:我的项⽬都保存在了elipse根⽬录的workspace⽂件夹下,⾥⾯有个servers的⽂件夹,这个不是你⾃⼰创建的项⽬,⽽是在eclipse⾥配置的服务器⽂件,如下⾯打开server.xml,拉倒最后看看<context>标签⾥有没有重复部署的项⽬,有就删掉多余的重复项⽬或者⼀种最直接的⽅法:删掉servers⽂件夹,在eclipse重新配置tomcat,如下图:⼯具栏⾥的window->preferences->server->runtimeEnvirnoment,可以先Remove移除掉以前的配置再添加。
(3)还有⼀种错误就是你的代码错误了,看看你的注⼊⽅式或者web.xml⾥的mapping是不是起名⼀样了,⼀样的话出现服务器不能启动的情况⽐较少,⼀般是错误500出现。
Tomcat无法启动,提示Address already in use
Tomcat无法启动,提示Address already in use:JVM_Bind:8080问题现象:某法院服务器上安装有两个tomcat访问的端口号一个是8000,一个是80,只有一个tomcat 能正常启动。
问题处理:首先查看8080端口是否被占用,netstat -a -n -o ,最后一个选项表示连接所在进程id. 找到8080端口的PID。
然后打开任务管理器, 切换到进程选项卡, 在菜单栏选择查看->选择列, 选择PID.在列表中找到PID对应的进程就可以了。
例子:很久不动java EE了,很多东西似乎都搞完了,今天在搭建环境,跑以前的一个项目时,出现了Address already in use 的错误,这显然是tomcat的端口号被占用了,我的机子上安装了appache和appache Tomcat:我以前以为这两个同时安装了就会出现错误,今天也没管那么多,因为实验室的机子上没有to mcat,我又想将以前的工程跑起来,所以我就直接装上了appache tomcat:当出现这个错误的时候,我第一反应是将apache2.2的服务给禁止掉,然后在计算机资源管理器里面开启Apache Tomcat服务,但是其实这样做是错误的,因为Appache Tomcat和M yeclipse8.0结合一起用的时候,应该让Myeclipse来启动Appache Tomcat,所有应该让计算机管理服务列表中的Appache Tomcat处于未运行的状态。
这样做了过后问题依然存在,这肯定是8080端口被其他程序占用了,要么把占用8080端口的程序终止掉,要么修改tomcat 的配置文件里默认端口号。
1.如何关闭占用8080端口的程序呢?首先我们必须要找出占用8080端口的程序,然后再结束占用这个端口的进程,在windows下,我们用命令netstat -ano来显示协议统计信息和TCP/IP网络连接,如下图所示:执行完netstat -ano命令后,我们找到占用端口号8080的进程PID为3620,我们需要找到与进程号对应的进程名。
记一次tomcat7.0版本启动项目失败问题
记⼀次tomcat7.0版本启动项⽬失败问题测试项⽬在tomcat7中启动失败,报错如下:@794314bc3Error during job execution (jobs.Bootstrap)Oops: VerifyError~ play.Logger.niceThrowable(Logger.java:570) ~ play ~ 35845play.exceptions.UnexpectedException: Unexpected Errorat play.Invoker$Invocation.onException(Invoker.java:244)at play.jobs.Job.onException(Job.java:124)at play.jobs.Job.call(Job.java:163)at Invocation.Job(Play!)Caused by: ng.VerifyError: Expecting a stack map frameException Details:Location:controllers/payment/PaymentBaseAction.check()V @23: nopReason:Expected stackmap frame at this location.Bytecode:0000000: b804 1c00 b801 8c9a 00121301 8e03 bd000000010: 6bb8 0190 a700 c700 b1b8 0192 b800 794b0000020: 1304 152a b804 1700 2ab6 009e 3c13 04180000030: 1bb8 041a 001b aa00 00000097000000000000040: 00000004000000220000 007f 000000850000050: 0000 008b 00000091 2a4d 014e 2c13 02a20000060: 1302 a413 02a6 b802 aac0 004f 4e2d b8000000070: 4999 003e 2a4d 033e 2c13 02ab 1302 ac130000080: 02ae b802 b0c0 0141 b602 b33e 1d99 00220000090: 2a4d 014e 2c13 02b4 1302 b513 02b7 b80200000a0: b9c0 004f 4e2d b800 22990006 b800 acb800000b0: 00af a700 1bb8 00b2 a700 15b8 00b5 a70000000c0: 0fb8 00b8 a700 09b8 00bb a700 03a7 000e00000d0: 3a06 013a 05b8 041e 1906 bf01 3a05 b80400000e0: 20b1Exception Handler Table:bci [0, 208] => handler: 208Stackmap Table:same_frame(@25)append_frame(@88,Object[#122])chop_frame(@175,1)same_frame(@181)same_frame(@187)same_frame(@193)same_frame(@199)same_frame(@205)same_locals_1_stack_item_frame(@208,Object[#978])same_frame(@219)at payment.PaymentProxy.init(PaymentProxy.java:60)at jobs.Bootstrap.initPayment(Bootstrap.java:64)at jobs.Bootstrap.doJob(Bootstrap.java:54)at play.jobs.Job.doJobWithResult(Job.java:50)at play.jobs.Job.call(Job.java:146)... 1more原因:jvm验证时出了错误:显⽰字节码错误:⽹上的解释是因为引⼊版本为51的字节码规范,使⽤了严格的类型检查器,任何⼯具修改了字节码的,都需要更新stackmap,但是jws修改了字节码,⽽没有更新 stackmap使⽤了即java的新特性,所以使⽤较⾼的版本进⾏编译时就会报这个错。
Tomcat启动失败的解决方法
Tomcat启动失败的解决方法
1.JDK版本和Tomcat版本不匹配,通常原因是JDK版本过低
例如Tomcat5.5搭配JDK6.0
此种情况会出现启动Tomcat的时候,加载信息在屏幕上停留几秒就消失,Tomcat没有任何反应。
解决方法:
(1)将JDK目录下的bin文件夹中的msvcr71.dll 复制到tomcat的BIN文件夹中。
(2)系统缺少msvcr71.dll文件!
从别的电脑上cope其添加到 <windows>/system32 目录下即可!
2.JDK环境变量设置错误
常见的,例如JAVA_HOME没设置,或者设置错误, JAVA_HOME后不能含有; 否则会影响到后面classpath和path的设置
3. 8080端口被占用
Tomcat所使用的默认为8080端口,如果它被别的服务程序占用,例如oracle等,则需要另外指派端口给Tomcat
方法:打开Server.xml,找到
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
把其中port后的8080改为别的端口,例如8088,9090,
然后重新启动Tomcat,启动成功即可。
(4)
终止进程:Javax.exe。
tomcat报错:虚拟内存不足,启动失败;页面文件太小,无法完成操作
tomcat报错:虚拟内存不足,启动失败;页面文件太小,无法
完成操作
服务器上安装了tomcat和jdk后,tomcat总是启动失败,错误日志显示:虚拟内存不足,启动失败,或者是:Error 0x800705af: 页面文件太小,无法完成操作。
后一种错误其实和前一种是一样的,只是不同的电脑系统可能显示不同。
解决办法:增大虚拟内存
步骤:
1、右键点【我的电脑】-【属性】-【高级】选项卡,
2、在【性能】栏内点【设置】-继续点【高级】选项卡,
3、在【虚拟内存】栏内点【更改】-弹出【虚拟内存】对话框,就可以设置了。
4、单选【自定义大小】,在【初始大小】里设置1024,在【最大值】里设置2048(不能超过32位操作系统的内存寻址范围——4GB)。
最后点一下【设置】可生效。
如有必要,可重启电脑。
建议将虚拟内存移动到除C盘之外的其它盘,例如D盘。
以减轻对系统盘的压力。
方法:仍在【虚拟内存】对话框,点击C盘卷标,单选【无分页大小】。
再选D盘卷标,单选【自定义大小】,设置【初始大小】和【最大值】即可。
虚拟内存最大值一般设置为物理内存的2倍。
重启nginx和tomcat的常见错误
jdbc:oracle:thin:@<host>:<port>:<SID>
\去掉 单个字符的特殊意义
5、nginx报错:open() "/usr/local/nginx/proxy_temp/3/02/0000000023" failed (13: Permission denied)
解决办法:Tomcat中的jdk与Eclipse中版本不一致。换成机子上可用的to Nhomakorabeacat
4、启动tomcat报错 sid:
解决办法:检查runtime_config_root jdbc.properties配置 注意有2种格式
a、 ServiceName方式:
jdbc:oracle:thin:@//<host>:<port>/ServiceName
1、重启nginx服务报错:nginx: [alert] kill(24019, 15) failed (3: No such process)
原因:启动nginx之前,杀了master服务,24019为master服务的进程号
解决办法1:
新建nginx.pid(文件里放进程号)文件,放/usr/local/nginx/logs下
原因:nginx服务listen 80被占用;可能被自身占用,需要先kill掉自身,再启动
解决方法1:需修改为其他端口号;
解决办法2:kill掉自身,再重启。
3、启动tomcat时报错:Cannot start server.Server instance is not configuerd.
解决办法2:
tomcat启动不了一闪而过怎么办?tomcat一闪而过无法启动现象的解决方法
tomcat启动不了⼀闪⽽过怎么办?tomcat⼀闪⽽过⽆法启动现象的解决⽅法 tomcat启动⼀闪⽽过怎么办成为了许多刚接触tomcat开发环境⼯作者的⼀个⼤问题,许多⽤户朋友都不知道是因为什么问题导致出现这种情况,马上点击查看tomcat⼀闪⽽过⽆法启动解决⽅法来解决您现在出现的问题吧。
Apache Tomcat 8.5.31 32位/64位官⽅免费版类型:服务器其它⼤⼩:9.41MB语⾔:简体中⽂时间:2018-05-07查看详情 - 1.⾸先要搞明⽩启动不起来的原因。
⽅法是在命令⾏下,运⾏startup.bat⽂件,这样程序就不会⼀闪⽽过,⽽会将启动不起来的原因打印到窗⼝上。
在命令⾏下启动tomcat的⽅法读者应该都很清楚,⼤体就是:cmd启动命令⾏窗⼝->通过cd命令到tomcat的bin⽬录下->运⾏startup.bat。
- 2.通过命令⾏的提⽰看到,这是因为电脑上没有配置JAVA_HOME或者JRE_HOME导致的。
那么下⾯添加上JAVA_HOME和JRE_HOME。
具体步骤为计算机->属性->环境变量,然后添加系统变量; - 3.添加完JAVA_HOME 和JRE_HOME 两个系统变量之后,在将这两个变量放到path 系统变量中,⽅法是,在path 变量值的后⾯直接追加 【;%JAVA_HOME%;%JRE_HOME%】注意!分号是环境变量的分割符号,不可少。
- 4.设置好变量之后,关掉之前的命令⾏窗⼝,重启⼀个新的命令⾏窗⼝,再次运⾏startup.bat命令,问题解决。
以上就是⼩编为⼤家带来的tomcat⼀闪⽽过⽆法启动现象的解决⽅法了,希望可以帮助到⼤家,⼤家如果还有疑问的话,可以在下⽅的评论框内给我们留⾔哦。
我们会尽⾃⼰所能的为⼤家解答。
谢谢⼤家⼀如既往的⽀持,也请⼤家继续关注的后续教程和软件。
myeclipse启动tomcat报错
Myeclipse启动tomcat 报错windows问题Tomcat无法启动,有各种各样的原因。
1.可能是项目冲突。
2.可能是没有正常关闭tomcat3.8080端口被占用解决办法1.结束掉占用端口的进程netstat -ano 查看所有端口ntsd -c q -p PID 杀死进程,还可以用taskkill /im taskname /F或taskkill /pid pidnum /F强行结束进程如果不行就得改端口了在Tomcat的conf文件夹里有个server.xml文件,修改里面的 <Connector port="8080"maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> port。
把port="8080"的8080换成其他的最好是四位数字的!2.你的Tomcat里有项目冲突,把你Tomcat里的东西清空了,把以前部署过的W eb项目全部"Remove Deployment",然后重新部署.或者到Tomcat目录\work\Catalina\localhost\项目名称,全部删除,重启(不会影响到原来的项目)。
或者如果你是自己配置的tomcat的话 找到它的位置 tomcat下 点击work文件夹 Catalina文件夹 localhost文件夹 下面是你的web项目发布的名称(也就是上下文路径)。
手动启动tomcat,配置了环境变量依旧无法启动解决办法
手动启动tomcat,配置了环境变量依旧无法启动解决办法在明明已经安装了JDK并设置好了JAVA_HOME,可偏偏Tomcat 在启动过程中找不到。
报错信息如下:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program;提示找不到java_home各jre_home路径,何解?原因不知道了,下面来看解决办法:1、分析startup.bat启动脚本:发现其调用了catalina.bat,而catalina.bat调用了setclasspath.bat2、在setclasspath.bat的头部定义了JAVA_HOME和JRE_HOME的值,那么在这里手动设置JAVA_HOME变量rem ---------------------------------------------------------------------------rem Set CLASSPATH and Java optionsremrem $Id: setclasspath.bat 505241 2007-02-09 10:22:58Z jfclere $rem ---------------------------------------------------------------------------rem 在你自己的setclasspath.bat添加下面两句话rem----------------------------------------------------------------set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_05(最后改成你自己的jdk名字)set JRE_HOME=C:\Program Files\Java\jre1.5.0_05(jre名字)rem-----------------------------------------------------------------rem Make sure prerequisite environment variables are setif not "%JAVA_HOME%" == "" goto gotJdkHomeif not "%JRE_HOME%" == "" goto gotJreHomeecho Neither the JAVA_HOME nor the JRE_HOME environment variable is definedecho At least one of these environment variable is needed to run this program。
SpringBoot应用部署到Tomcat中无法启动的解决方法
SpringBoot应⽤部署到Tomcat中⽆法启动的解决⽅法背景最近公司在做⼀些内部的⼩型Web应⽤时,为了提⾼开发效率决定使⽤SpringBoot,这货⾃带Servlet容器,你在开发Web应⽤时可以直接在本地像运⾏控制台应⽤⼀样启动,省去了重复部署的时间;配置上相⽐于SpringMVC也是有了⼤⼤的简化。
SpringBoot的应⽤可以直接打成⼀个可运⾏的jar包,你⽆需发愁为了不同应⽤要部署多个Tomcat。
但是实际部署时你会发现打成Jar包的⽅式有⼀个致命的缺点,当你改动了⼀个资源⽂件、或者⼀个类时,打要往服务器重新上传全量jar包。
⽐如⽹速慢的公司(⽐如我们)来说,那简直是不能忍受的还好SpringBoot也⽀持打包成普通的war包,这样你本地开发环境直接⽤控制台⽅式运⾏,部署到服务器时打成普通war包部署。
这样既享受到了SpringBoot开发带来的快感,⼜避免了增量部署不⽅便的问题。
可谓两全其美。
不过在打成War包时,我也遇到了⼀些问题问题描述我修改pom.xml将打包⽅式改成war<packaging>war</packaging>完事⼉打完包以后,放到我本地Tomcat上跑了跑,发现没问题。
但是部署到服务器上的Tomcat以后,发现⽆法启动,错误如下:org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/report]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1092)at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1984)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)at java.util.concurrent.FutureTask.run(FutureTask.java:262)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)at ng.Thread.run(Thread.java:745)Caused by: ng.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;at org.apache.tomcat.websocket.server.WsServerContainer.<init>(WsServerContainer.java:150)at org.apache.tomcat.websocket.server.WsSci.init(WsSci.java:131)at org.apache.tomcat.websocket.server.WsSci.onStartup(WsSci.java:47)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5573)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)... 10 more明显不是应⽤代码错误,猜想应该是环境问题。
idea启动tomcat无效:Unabletopingserveratlocalhost:1099
idea启动tomcat⽆效:Unabletopingserveratlocalhost:1099
之前项⽬运⾏的挺好的,现因⼀个新项⽬运⾏需要使⽤客户提供的Tomcat,配置后运⾏不起来,试了各种配置和⽅式,都不可以,最终使⽤⽅法5解决,现在把解决⽅式整理⼀下。
运⾏报错信息如下:
总结了许多博客上的问题处理⽅案,主要情况有⼏种:
1 1099端⼝被占⽤;
2.java环境没有配置好;
3.idea中没有配置jdk环境;
4.idea⾥tomcat没有配置jdk;
逐⼀排查后,发现
1.1099端⼝号被占⽤,但是换成1096,1097还是⼀样的问题;
2.java环境有没有配置好,直接cmd查java版本号,说明没问题;
3. idea会给你⾃动配置好jdk环境,也排除掉;
4.idea⾥tomcat没有配置jdk,已配置(需要注意Tomcat对应的JDK版本)
5.那就针对报错来解读,⽆法ping通,要么端⼝占⽤,电脑重启,不会出现这问题,那么还有⼀种可能,那就是ping命令⽆效,打开cmd 输⼊ping命令:
果然,⽆效,⽴马在环境变量上加上路径:
再次验证:
重启idea,然后运⾏项⽬,顺利通过,然后报其他错误,总算有进展了~
结论:打开cmd检查 piing 命令是否可⽤,若⽆效,则需要配置环境变量,然后重启 idea 即可。
tomcat作为windows服务无法启动如何解决
tomcat作为windows服务无法启动如何解决
•
•现象是直接双击startup.bat可以正常跑tomcat
•通过service.bat install 将tomcat加到服务里面去无法启动,显示内容为:
•“windows不能在本地计算机启动Apache T omcat. 有关更多信息,查阅系统事件日志。
如果这是非Microsoft服务,请与服务厂商联系,并参考特定服务错误代码0.”
•
•于是网上查了不少资料,发现答案无外乎是:
•tomcat文件路径有中文目录
•将JDK中BIN下的msvcr71.dll复制到TOMCAT中的BIN下
•被防火墙禁用了
•
•但实际上按照这些答案修改了,仍然抛这个错误。
•
•最后想到了自己曾经修改过tomcat的catalina.bat文件,其中修改的代码有
Java代码
1.set JAVA_HOME=D:\bwss\javeEnv\java2\jdk1.6.0_14
2.set CATALINA_HOME=D:\bwss\tomcat\apache-tomcat-6.0.6
这里指定了tomcat使用某个jdk,即时当前体系统没有java环境或者系统java版本过低,我都能兼容。
于是想想会不会是这个问题呢?
于是对系统环境变量增加了JAVA_HOME跟path的jdk路径配置。
配置完毕。
启动,ok。
疑问:tomcat放到服务跑,到底有没有用到catalina.bat这个配置文件?又或者是否tomcat6.exe里面集成了catalina.bat相应的配置导致catalina.bat失效?。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Tomcat启动不了的原因(实用收藏+更新)
如果在控制面板-“管理工具”-“服务”中启动Tomcat时,提示“本地计算机上的Apache Tomcat 服务启动后又停止了。一些服务自动停止,如果他们没什么可做的,例如“性能日志和警报”服务”,使得Tomcat启动不起来的可能的原因是:
1。由于在tomcat里JVM没有配好,他默认的是批向c:\program file\Java下的那一个,如果你确认这没有删掉,JVM指向你自己安装的jdk\jre试试。
我以前在学校里也常常碰到这些问题,当时一般是重新安装tomcat.
后来慢慢得开始找问题了,发现其实还真就是上面所说的几点启动不了,后来我发现是第2点出的错.
幸亏我以前对server.xml备份过,只要换回原来的server.xml就行了.
至于原因,我还要进行分析.因为当时是做虚拟主机才对这个配置文件进行过修改的.
检查错误的方法我也看过一些,就写下来吧.
一是查看log文件,这个是每个维护人员必须养成的习惯,
二是查看端口占用,我是用fport看的,一个单文件程序,很方便实用.
三是运行命令行:"tomcat6.exe run",不过要cmd中在"D:\projects\software\Tomcat 6.0\bin"下运行,查看错误.
环境变量的话一般重新查看过就行了.
还有就是版本匹配问题,这个可以随便搜下,很多的配置方案都会写出java版本与tomcat版本.对应就行了.
2。改写server.xml文件出错,如果改写出错也会导致服务启动不起来。 3。设置的网络端口被占用,如IIS; 4。Tomcat和JDK版本对应问题,tomcat 5.0以上的版本,jdk也必须是1.5以上。 5。环境变量配置错误。
要是实在还不行,万全的办法:重装。