Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将tomcat 6迁移到7;JSF;java.lang.NoClassDefFoundError:com/sun/enterprise/InjectionException_Jsf_Tomcat_Noclassdeffounderror - Fatal编程技术网

将tomcat 6迁移到7;JSF;java.lang.NoClassDefFoundError:com/sun/enterprise/InjectionException

将tomcat 6迁移到7;JSF;java.lang.NoClassDefFoundError:com/sun/enterprise/InjectionException,jsf,tomcat,noclassdeffounderror,Jsf,Tomcat,Noclassdeffounderror,我需要将Tomcat6项目(Java6)迁移到Tomcat7服务器(Java7)。现在,我从服务器收到以下错误: 控制台: INFORMATION: TLD skipped. URI: http://java.sun.com/jsp/jstl/xml is already defined Jul 09, 2015 9:47:38 AM com.sun.faces.config.ConfigureListener contextInitialized INFORMATION: Mojarra 2.

我需要将Tomcat6项目(Java6)迁移到Tomcat7服务器(Java7)。现在,我从服务器收到以下错误:

控制台:

INFORMATION: TLD skipped. URI: http://java.sun.com/jsp/jstl/xml is already defined
Jul 09, 2015 9:47:38 AM com.sun.faces.config.ConfigureListener contextInitialized
INFORMATION: Mojarra 2.2.11 ( 20150505-0732 https://svn.java.net/svn/mojarra~svn/tags/2.2.11@14688) für Kontext '/CM-Tool' wird initialisiert.
Jul 09, 2015 9:47:39 AM com.sun.faces.config.ConfigureListener contextInitialized
SCHWERWIEGEND: Critical error during deployment: 
java.lang.NoClassDefFoundError: com/sun/enterprise/InjectionException
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:274)
    at com.sun.faces.util.Util.loadClass(Util.java:364)
    at com.sun.faces.spi.InjectionProviderFactory.getProviderFromEntry(InjectionProviderFactory.java:317)
    at com.sun.faces.spi.InjectionProviderFactory.findProviderClass(InjectionProviderFactory.java:285)
    at com.sun.faces.spi.InjectionProviderFactory.createInstance(InjectionProviderFactory.java:116)
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:365)
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:227)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4992)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
    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 java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: com.sun.enterprise.InjectionException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
    ... 17 more

Jul 09, 2015 9:47:39 AM org.apache.catalina.core.StandardContext listenerStart
SCHWERWIEGEND: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/sun/enterprise/InjectionException
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:292)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4992)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
    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 java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: com/sun/enterprise/InjectionException
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:274)
    at com.sun.faces.util.Util.loadClass(Util.java:364)
    at com.sun.faces.spi.InjectionProviderFactory.getProviderFromEntry(InjectionProviderFactory.java:317)
    at com.sun.faces.spi.InjectionProviderFactory.findProviderClass(InjectionProviderFactory.java:285)
    at com.sun.faces.spi.InjectionProviderFactory.createInstance(InjectionProviderFactory.java:116)
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:365)
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:227)
    ... 9 more
Caused by: java.lang.ClassNotFoundException: com.sun.enterprise.InjectionException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
    ... 17 more

Jul 09, 2015 9:47:39 AM org.apache.catalina.core.StandardContext startInternal
SCHWERWIEGEND: Error listenerStart
Jul 09, 2015 9:47:40 AM org.apache.catalina.core.StandardContext startInternal
SCHWERWIEGEND: Context [/CM-Tool] startup failed due to previous errors
Jul 09, 2015 9:47:40 AM org.apache.coyote.AbstractProtocol start
构建路径/部署程序集:

WEB.XML:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

  <context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.xhtml</param-value>
  </context-param>
  <context-param>
    <param-name>facelets.REFRESH_PERIOD</param-name>
    <param-value>2</param-value>
  </context-param>
  <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
  </context-param>
  <context-param>
    <param-name>org.richfaces.SKIN</param-name>
    <param-value>DEFAULT</param-value>
  </context-param>
  <context-param>
    <param-name>org.ajax4jsf.handleViewExpiredOnClient</param-name>
    <param-value>true</param-value>
  </context-param>
  <filter>
    <display-name>Ajax4jsf Filter</display-name>
    <filter-name>ajax4jsf</filter-name>
    <filter-class>org.ajax4jsf.Filter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>ajax4jsf</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
  </filter-mapping>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <session-config>
    <session-timeout>60</session-timeout>
  </session-config> 
  <!--Tomcat 5 Workaround: Listener used to initialize JSF on startup-->
  <!--Remove comment tags to enable listener.
    <listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>
    -->
  <!--Tomcat 5 Workaround: Listener implementation to handle web application lifecycle event-->
  <!--Remove comment tags to enable listener.
    <listener>
        <listener-class>com.sun.faces.application.WebappLifecycleListener</listener-class>
    </listener>
    -->
    <error-page>
        <exception-type>javax.faces.application.ViewExpiredException</exception-type>
        <location>/pages/viewExpired.jsp</location>
    </error-page>
    <error-page>
        <error-code>500</error-code>
        <location>/pagecomponents/error.faces</location>
    </error-page>
</web-app>

上下文已初始化两次。。。这就是问题所在吗?

是的,您需要升级JAR以匹配Tomcat 7所需的版本。您可能还更改了代码。好的,我将尝试获取所有信息。谢谢你,达菲,等等。您在
/WEB-INF/lib
中都有哪些JAR?这个问题表明,你们不仅有特定于webapp的jar,还有特定于服务器的jar(它们绝对不属于那个里)。而且,当您使用Tomcat(它不是javaee容器)时,您用
[javaee]
标记了这个问题,这给人一种可怕的印象,即您实际上也在其中包含了
javaee.jar
(这可能解释了所有这些麻烦)。你在使用Eclipse吗?是的,我确实在使用Eclipse,很抱歉你是对的,我将删除标记。
javax.servlet
JAR绝对不属于那里。它已经由Tomcat提供了。摆脱它,然后重试。
INFORMATION: TLD skipped. URI: http://java.sun.com/jsp/jstl/xml is already defined
Jul 09, 2015 9:47:38 AM com.sun.faces.config.ConfigureListener contextInitialized
INFORMATION: Mojarra 2.2.11 ( 20150505-0732 https://svn.java.net/svn/mojarra~svn/tags/2.2.11@14688) für Kontext '/CM-Tool' wird initialisiert.
Jul 09, 2015 9:47:39 AM com.sun.faces.config.ConfigureListener contextInitialized