2017-04-17 30 views
0

我奋力解决以下异常:不断得到抛出java.lang.ClassNotFoundException:com.sun.faces.config.ConfigureListener

INFO: No Spring WebApplicationInitializer types detected on classpath 
Apr 17, 2017 8:48:01 AM org.apache.catalina.core.StandardContext listenerStart 
SEVERE: Error configuring application listener of class [email protected]a 
java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1465) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1310) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:531) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:513) 
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:141) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4756) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5288) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1390) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1380) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Apr 17, 2017 8:48:01 AM org.apache.catalina.core.StandardContext listenerStart 
SEVERE: Skipped installing application listeners due to previous error(s) 
Apr 17, 2017 8:48:01 AM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Error listenerStart 

我使用Maven和下面的依赖加入到解决这个,但没有得到结果,仍然面临同样的问题。

<dependency> 
    <groupId>javax</groupId> 
    <artifactId>javaee-web-api</artifactId> 
    <version>6.0</version> 
    <scope>provided</scope> 
</dependency> 

<dependency> 
    <groupId>javax.servlet.jsp</groupId> 
    <artifactId>jsp-api</artifactId> 
    <version>2.1</version> 
</dependency> 

<dependency> 
    <groupId>javax.servlet.jsp.jstl</groupId> 
    <artifactId>jstl-api</artifactId> 
    <version>1.2</version> 
    <scope>compile</scope> 
</dependency> 

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>servlet-api</artifactId> 
    <version>2.5</version> 
</dependency> 

我已经添加了maven依赖项。对于Spring和Hibernate,我添加了所有必需的依赖项。

+0

参考这个问题(http://stackoverflow.com/questions/22938689/info-no-spring-webapplicationinitializer-types-detected-on-classpath) –

+0

@vikram 1)请添加整个pom.xml这里。 2)你在你的项目中使用JSF吗? –

+0

@PratikShah我没有在我的项目中使用JSF。 PFB pom.xml –

回答

0

我认为问题不在于你的依赖关系。我是新来春太多,但我认为这可能会帮助您:

@Configuration 
public class SpringWebAppInitializer implements WebApplicationInitializer{ 

    @Override 
    public void onStartup(ServletContext sc) throws ServletException { 
     AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); 
     context.register(ApplicationContextConfig.class); 

     ServletRegistration.Dynamic dispatcher = sc.addServlet("dispatcher", new DispatcherServlet(context)); 
     dispatcher.setLoadOnStartup(1); 
     dispatcher.addMapping("/"); 
    } 
} 
0

如果错误是说,类没有找到,那么它实际上是说,类不能被JVM加载,因为JVM无法在您的类路径中找到该类。

然后,你需要使用Maven再次生成项目,以创建.class文件JVM的,

或者在此之前,尝试从远程Maven仓库项目的依赖再次拉进你的本地Maven仓库,然后执行maven构建项目以填充.class文件。

希望这可以帮助。