tomcat启动报javax.naming.NamingException: No naming context bound to this class loa

tomcat启动报javax.naming.NamingException: No naming context bound to this class loader

tomcat启动报如下错误
javax.naming.NamingException: No naming context bound to this class loader

   


解决办法:
右键工程-->Build
Path-->Configure Build Path...-->选中Libraries
如上图所示
出现了tomcatv6和tomcatv7 删除一个 重启tomcat 错误解决。

如果还出现这个错误则
先把上图中的 tomcat 移除(remove) 然后

Add Library...-->Server Runtime-->Next-->选中已安装的tomcat-->Finish
使用tomcat 7 tomcat就会报以下错误警告: Failed to retrieve JNDI naming context for container [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/BooksWebApp]] so no cleanup was performed for that container


启动tomcat报这个错误Failed to start component [StandardServer[8005]]

该问题初步判定是由于,启动exmobi前8005端口已被占用。
该端口被占用的原因,有可能有以下几种可能:
1.exmobi启动过多次
2.这台机器上,不止跑exmobi程序,单独的一个tomcat,有其它的程序,占用了8005.
麻烦检查该端口的状态,确认占用该端口的进程,如果确实冲突,将exmobi的tomcat的8005端口修改即可;若是启动多次,在确认端口不处于监听状态时,再启动exmobi的tomcat


org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/localhost]]
项目原来是部署在weblogic中,今天想看看在tomcat中怎么样,于是就把项目发布在tomcat中,可是启动的时候遇到如下异常:
严重: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/localhost]]



仔细查看了一下上面的异常,发现上面加粗的部分,于是找到了web.xml中的相关部分,代码如下:
<servlet>
<servlet-name>basePath</servlet-name>
<servlet-class>com.localhost.website.commons.net.BasePathServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>basePath</servlet-name>
<url-pattern>basePath.java</url-pattern>
</servlet-mapping>
这个是在weblogic中运行的,没有问题,现在发布到了tomcat中遇到了上面的问题,这是时候把
<url-pattern>basePath.java</url-pattern> 修改成 <url-pattern>/basePath.java</url-pattern>
启动的时候就没有问题了,原因可能是因为我在weblogic中配置的域名的问题,而没有项目名照成的,当然这个只是猜测,没有具体是查找


最近一项目tomcat莫名的启动不起来,抛莫名的异常,google后发现是jaxen与dom4j有冲突,删除dom4j正常。 严重: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/]]


tomcat  报org.apache.catalina.LifecycleException的时候,通常下面还有一个这样的异常
Caused by: java.lang.IllegalArgumentException: Filter mapping specifies an unknown filter name encodingFilter
 
引起这个异常的原因,通常都是web.xml里面的<filter>和<filter-mapping>错误引起的,或者不对应或者单词写错或者其它原因,把<filter>和<filter-mapping>,<servlet>和<servlet-mapping>对应好之后,应该不会出现这个异常,很低级的一个错误。网上说什么tomcat7版本不对应,有点扯了。

tomcat org.apache.catalina.LifecycleException: Failed to start component

解决访法:检查web.xml中的servlet映射<url-pattern>
出现此异常,一般是由于过滤器造成的。
@WebFilter("/*")
过滤器弄错了,检查<url-pattern></url-pattern>中配置的内容是否缺少“/” ,"/"表示当前web应用。





猜你喜欢

转载自zhyp29.iteye.com/blog/2312365
今日推荐