2017-01-10 111 views
1

我一直在處理計算機上的代碼,並將該代碼導入到其他計算機上。但是當我部署代碼並在另一臺機器上運行它時,tomcat無法正常啓動並引發錯誤。Tomcat 8發生錯誤:「啓動期間子容器失敗」

web.xml文件

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> 
    <display-name>Try</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
    <description>Apache CXF Endpoint</description> 
    <display-name>cxf</display-name> 
    <servlet-name>cxf</servlet-name> 
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>cxf</servlet-name> 
    <url-pattern>/services/ *</url-pattern> 
    </servlet-mapping> 
    <session-config> 
    <session-timeout>60</session-timeout> 
    </session-config> 
    <servlet> 
    <description>JAX-RS Tools Generated - Do not modify</description> 
    <servlet-name>JAX-RS Servlet</servlet-name> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>JAX-RS Servlet</servlet-name> 
    <url-pattern>/jaxrs/*</url-pattern> 
    </servlet-mapping> 
</web-app> 

控制檯日誌:

2017年1月11日上午1點33分12秒 org.apache.tomcat.util.digester。 SetPropertiesRule開始警告: [SetPropertiesRule] {Server/Service/Engine/Host/Context}將 屬性'source'設置爲'org.eclipse.jst.jee.server:嘗試'沒有找到 匹配屬性。 2017年1月11日上午01時33分十二秒 org.apache.catalina.startup.VersionLoggerListener日誌信息:服務器 版:的Apache Tomcat/8.0.39

重度:開始 java.util中的過程中失敗子容器。 concurrent.ExecutionException:org.apache.catalina.LifecycleException:無法在java.util.concurrent.FutureTask.report(FutureTask.java:122)上啓動組件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ Try]] )塊引用

所致:org.apache.catalina.LifecycleException:未能啓動 部件 [StandardEngine [卡塔利娜] .StandardHost [本地主機] .StandardContext [/ Try]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162) ... 6更多原因:java.lang.IllegalArgumentException:無法通過 創建一個類型爲[拋出java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener在 有機com.sun.faces.config.ConfigureListener] 在org.apache.catalina.core.ApplicationContext.addListener

所致。 apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)

我已經嘗試了其他解決方案,以解決Stack Exchange上的同一問題。但沒有任何作品適合我。

+0

[java.lang.ClassNotFoundException:com.sun.faces.config.ConfigureListener]的可能重複(http://stackoverflow.com/questions/10848341/java-lang-classnotfoundexception-com-sun-faces-config- configurelistener) – Berger

+0

@Berger:我沒有使用jsf,'Mojarra'不在我的web.xml中。 –

+0

'com.sun.faces.config.ConfigureListener'是一個JSF類,它在您的服務器上使用它。 – Berger

回答

0

看起來造成類com.sun.faces.config.ConfigureListener存在於您的計算機中,但不在目標機器中。該類通常屬於jsf-impl.jarjsf-ri.jar庫。

由於要部署在兩臺機器上同一場戰爭(我假設),即庫obivously不捲入戰爭,因此他們很可能會到您的計算機的Tomcat運行時:在目錄<tomcat>/lib尋找它並將其複製到目標機器的Tomcat lib目錄。

相關問題